|
|
1
1
我也遇到了同样的问题,最终将我的测试作为更高级别的集成测试编写,实际上是通过一个简单的HttpWebRequest客户机进行真正的REST/HTTP调用。这允许我检查HTTP响应头/状态代码,并从客户机的角度重新检查JSON/XML序列化,这与操作是否成功同样重要。 我从所有处理程序返回OperationResult开始,并使用这些函数包装强类型对象。我的处理程序都继承自一个基类,其中有一些helper方法,可以更容易地返回带有用户友好的错误消息的自定义错误。我编码得越多,我的处理程序就越像一个ASP.NET MVC控制器。例如。:
然后在测试客户机中,很容易检查HTTP状态代码。显然这对嘲笑没什么帮助。我不知道什么是最好的解决办法,事实上我喜欢这个问题,希望有人能比我更好地回答这个问题——但到目前为止,这个方法对我很有效。 |
|
|
2
1
处理程序只是一个类——理想情况下是具有最小的依赖性——因此您的单元测试可以只测试类中的独立逻辑。 如果你想测试状态码,我建议(基于很少的经验!)使用OpenRasta自托管。
我要补充的是,主机是在TestInitialize方法中设置的:
…并在TestCleanup方法中清除。 |