byt*_*yte 5 c# asp.net-mvc unit-testing
这是关于单元测试的非常基本的问题.
我有一个方法,例如GetOrderDetails,它调用Repository来获取订单详细信息.我有一个模拟存储库,可以设置为返回库存响应.
为了测试GetOrderDetails方法,我至少会使用以下情况 -
存储库调用失败
存储库调用成功
我应该编写一个测试方法来测试上述场景,还是应该为上述每个场景分别采用单独的测试方法?
我相信,将其分解为多种测试方法至少可以提供以下好处:1.在测试失败的情况下更高的隔离度2.测试方法中的代码量少于3.每个测试方法将具有单个存储库设置职责,例如设置为无结果,或设置为多个结果等
你可以帮忙看看你对此的看法吗?
我会为每个案例编写一个单独的单元测试.基本上每次在你正在测试的方法中编写一个if或一个switch内部时,都需要使用不同的单元测试来处理每个案例.这样做的原因是,您的单元测试的安排部分将根据您希望代码采用的路线(不同的模拟期望,属性设置,......)而有所不同.另外,我建议您按以下三个部分组织单元测试:
// arrange
// -> prepare mock objects, properties, setup expectations
// act
// -> invoke the method your are testing
// assert
// -> assert on the results returned by the method your are testing
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1343 次 |
| 最近记录: |