Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC视图模型TDD方法_C#_Asp.net Mvc_Tdd - Fatal编程技术网

C# MVC视图模型TDD方法

C# MVC视图模型TDD方法,c#,asp.net-mvc,tdd,C#,Asp.net Mvc,Tdd,创建ASP.Net MVC Viewmodels时,推荐使用TDD的方法是什么 我知道viewmodel需要包含哪些内容,以及如何测试模型的验证属性,但我不确定应该遵循什么过程,而不是在没有测试的情况下直接创建viewmodel 一种想法是实例化控制器并调用操作,然后断言返回的模型首先存在,然后它具有特定的属性,但是我认为这需要反射,我认为这不是一种好的方法 任何建议都将不胜感激 亲切问候, 大卫·霍金斯(David Hawkins)最好的方法是从你需要测试的贝瓦约(bevaior)那里看这个问

创建ASP.Net MVC Viewmodels时,推荐使用TDD的方法是什么

我知道viewmodel需要包含哪些内容,以及如何测试模型的验证属性,但我不确定应该遵循什么过程,而不是在没有测试的情况下直接创建viewmodel

一种想法是实例化控制器并调用操作,然后断言返回的模型首先存在,然后它具有特定的属性,但是我认为这需要反射,我认为这不是一种好的方法

任何建议都将不胜感激

亲切问候,


大卫·霍金斯(David Hawkins)

最好的方法是从你需要测试的贝瓦约(bevaior)那里看这个问题。使用TDD,您可以驱动控制器/操作的行为,并相应地验证其正确性。在此过程中,您可以根据需要创建视图模型。视图模型应该非常简单,不需要任何TDD测试

如果视图模型(例如属性是否存在)使用反射,还可以尝试通过测试scemantics来避免TDD。它没有增加多少价值。从需求的角度来看,TDD是非常重要的,您将TDD需要的代码,并且具有一些行为也是非常重要的

使用TDD进行典型ASP.NET MVC单元测试的一些示例,您可以验证视图模型是否返回预期类型,或者对repo的调用是否已成功执行,或者正确的视图名称是否返回,视图模型是否包含任何默认值等