在NUnit测试中获取上下文

时间:2013-03-04 04:34:09

标签: c# wcf testing nunit moq

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

1 个答案:

答案 0 :(得分:1)

您通常无法模拟OperationContext(除非您将其包装)。但请检查一下,如果它对您有帮助。

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

一些替代方案是:

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

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