我有涵盖我的模型绑定器的单元测试。我创建一个 ModelBindingContext 并用我的测试值填充 ValueProviderDictionary。我有信心,一旦我的控制器获得模型,一切都被测试覆盖,正确的事情正在发生。我也有信心,如果 BindingContext 正确,我的模型将正确绑定。我没有信心的是,我的视图在回发时会正确填充 BindingContext。
我已经开始编写WatiN 测试来填写表格,将它们发回,然后检查生成的视图。这没关系,但似乎非常……间接。例如,点击提交后显示“您的订单已保存”的页面——我必须访问数据库以查看它是否已正确保存。我已经有测试,当传递给我的控制器的模型是 x 时,y 被保存到数据库中。为什么我在视图测试中重复此代码?
我真正想要的是填充视图,点击提交,然后检查 (a) BindingContext 或 (b) 从 ModelBinder 返回的模型。
有没有关于如何做这些事情的做法?
只是想补充一点,这将是 WatiN 测试的补充。我现在有大约 50 个 WatiN 测试(还有很多要添加),如果我可以在没有 WatiN 的情况下执行上述操作,它只会删除少数测试。我会继续使用 WatiN 来做它的好处,但我觉得我现在正在滥用它来进行那些少数测试。