【发布时间】:2010-09-07 10:23:40
【问题描述】:
我们有一大堆 DLL,可以让我们访问我们的数据库以及其他应用程序和服务。
我们使用瘦 WCF 服务层包装了这些 DLL,然后我们的客户会使用该服务层。
我有点不确定如何编写只测试 WCF 服务层的单元测试。我应该只为 DLL 编写单元测试,并为 WCF 服务编写集成测试吗?我会很感激任何智慧......我知道如果我的单元测试实际上进入数据库,它们实际上不会是真正的单元测试。我也明白我真的不需要在单元测试中测试 WCF 服务主机。
所以,我对究竟要测试什么以及如何测试感到困惑。
【问题讨论】:
-
无需对 WCF 服务进行 UNIT 测试,编写 INTEGRATION 测试完全没问题。
-
避免使用模拟,一个单元不是一个没有任何外部依赖的类。一个单元是业务逻辑的端到端切片,即使它涉及数据库。您始终可以使用内存,甚至更好地使用 BerkeleyDB 等嵌入式数据库进行测试。您不需要驻留在其他机器上的实际数据库。这样您就可以有效地测试您的单元,而无需大量模拟。
标签: wcf unit-testing