【发布时间】:2010-03-01 23:37:39
【问题描述】:
我们目前正在用 .NET3.5 中构建的现代 SOA WCF 系统替换一个 20 年前的基于 C 的系统。我们的行业需要严格的测试,包括良好的自动化单元测试融合。我们遇到了一些问题,但是对我们的 SOA 系统进行了单元测试,使其接近基于 C 的系统进行单元测试的程度。
最大的一个问题是系统中的大多数方法实际上都依赖于跨服务边界调用代码,例如我们是大量数据驱动的,但我们不直接访问系统内的数据库:我们调用WCF 数据访问服务。
在 Visual Studio 中运行任何单元测试几乎是不可能的,因为几乎做任何事情都会导致某种跨服务调用。如果它不是数据访问它的其他服务之一。我认为我们可以获得大约 5% 的覆盖率。
我看到很多人都在努力测试 SOA,所以我认为这不是我们独有的。问题是 QA 会质疑为什么我们不对系统进行更多单元测试。
说实话,我认为 VSTS 单元测试更像是一种回归测试,而不是一种验证(适合使用)工具。单元测试 SOA 有哪些选择?实现良好覆盖是否符合人们的经验?有没有办法模拟数据访问服务(或任何服务:注意我们不使用 WCF 代理),或者我们是否必须向 QA 解释单元测试能力在过去 20 年中倒退了...
欢迎任何形式的建议,我想这是一个普遍的意见问题。
【问题讨论】:
标签: wcf unit-testing soa