创建ASP.Net MVC Viewmodels时使用TDD的推荐方法是什么?
我知道viewmodel需要包含什么以及如何测试模型的验证属性,但我不确定应该遵循什么流程而不是潜入,只是在没有测试的情况下创建viewmodel。
一个想法是实例化控制器并调用操作,然后断言返回的模型首先存在,然后它具有特定属性,但是我认为这将需要反射,我不能看到这是一个好方法。
非常感谢任何建议。
亲切的问候,
大卫霍金斯
答案 0 :(得分:1)
最好的方法是从需要测试的bevaior。使用TDD,您可以驱动控制器/操作的行为并相应地验证它。在此过程中,您可以根据需要创建视图模型。您的视图模型应该非常简单,并且不需要任何TDD测试。
如果视图模型(例如是否使用反射存在属性),还可以尝试避免使用TDD来测试语法。它没有增加太多价值。重要的是你TDD同样重要的是你要TDD所需的代码并从需求的角度来看有一些行为。
使用TDD的典型ASP.NET MVC单元测试的一些示例,您将验证视图模型返回为期望的类型,或者是否已成功执行对repo的调用,或者是否返回了正确的视图名称,视图模型包含任何默认值等等。