如何获得需要托管服务的测试代码覆盖率?

时间:2013-08-01 07:24:52

标签: vb.net wcf visual-studio unit-testing

我有一个带有测试项目的Visual Studio 2012解决方案,该测试项目具有调用调用WCF服务项目的类库项目的测试(这是状态的简化摘要,实际解决方案更复杂)。

如果我单击“调试选定的测试”,则从测试资源管理器中测试然后通过,但如果我“运行选定的测试”,那么它们将失败,因为服务未被托管。

我想检查我的代码覆盖率,但代码覆盖率“运行”测试,这意味着服务未被托管,因此测试失败,我的代码覆盖率为0%。

如何配置测试流程,以便在“运行”测试以及“调试”测试时托管服务?

附录

经过考虑后,我认为嘲笑服务无法实现目标。各种组件已经使用模拟进行了单独测试,但现在需要进行测试以了解它们如何一起运行。

1 个答案:

答案 0 :(得分:2)

它们不是单元测试,因为它们具有外部依赖性(另一个例子是数据库调用) - 您依靠Web服务来进行测试。这不是保证。

我想在这里使用一个模拟框架 - 我使用的是Rhino Mocks,但那里有很多。这样你就可以通过嘲笑来绕过对web服务的依赖。

此外 - 如果可以的话,我会考虑重构您正在调用的类库,分离调用等,以便您可以单独测试部件。