1

我有一个正在单元测试的 WCF 服务。我需要保存 OperationContext 以在我的测试中使用它。上下文未保存,因此无法在我的测试中使用它回发。我可以保存当前上下文以在测试中使用它的最佳方法是什么?

4

1 回答 1

1

您通常不能模拟 OperationContext(除非您包装它)。但是看看这个,如果它对你有帮助的话。

http://blog.gfader.com/2010/08/how-to-unit-test-wcf-service.html

一些替代方案是:

1)另一种方法是简单地重构你的代码。将服务中的所有业务逻辑移到单独的可测试业务类中,让服务只参与集成测试。服务更像是基础设施,并不是所有东西都需要单元测试。集成/端到端/行为测试也是测试和有效的方法。

2)使用更强大的测试框架。检查能够拦截呼叫并重定向它们的Moles 框架。这可以“模拟”密封类和静态方法/属性。使用 Moles,您可以将对 OperationContext 的调用重定向到您自己的方法。

于 2013-03-04T04:58:43.467 回答