【发布时间】:2013-12-12 10:52:58
【问题描述】:
我有一个场景,我必须从数据库中获取一些数据并将其显示在 Win 表单应用程序的网格视图中。我已经为 Presenter 编写了一个单元测试来模拟我的存储库和视图。测试检查演示者是否调用了存储库的 GetData() 方法,然后调用了视图的 Bind(data) 方法。
我还对存储库进行了另一个集成测试,以验证数据库中是否有一些数据由存储库返回。
现在是测试我的观点的部分。我想不出办法来测试我的表单并检查它是否确实将数据绑定到网格视图,但这是一个单独的问题。
我的问题是,如果我想以 BDD 样式测试上述场景,那么在 Win 表单中,我无法测试当我调用演示者的方法时是否填充了正确数据的网格视图。这是否意味着我不能在 Win 表单上执行 BDD,因为我无法在不模拟视图的情况下验证完整的行为。如果我们模拟视图,那么 BDD 的整个概念就会丢失,因为参与完成场景的一个关键角色是模拟的,而不是真实的。
这真的让我很困惑,不知道其他人是否曾经有过类似的问题。
【问题讨论】:
标签: c# winforms unit-testing tdd bdd