2

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

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

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

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

附录

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

4

1 回答 1

2

它们不是单元测试,因为它们具有外部依赖项(另一个示例是数据库调用)-您依赖于 web 服务来通过测试。这不是保证。

我想说在这里使用一个模拟框架 - 我使用 Rhino Mocks 但那里有很多。这样,您可以通过模拟它来绕过对 Web 服务的依赖。

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

于 2013-08-01T09:32:40.797 回答