由于我几乎只做API, 所以本文不包括关于MVC功能的测试, 只包括Controller的API相关功能.
测试一个简单的Controller
先举一个简单点的例子:
?...执行方法后返回的结果类型应该实现了IActionResult接口, 这里可以用Assert.IsAssignableFrom(actual)来判断....针对该方法的其它测试
我又添加了两个测试方法, 来测试该方法的不同路径及返回结果:
?
通常一个测试方法里应该只有一个Assert....随后就是一系列的Assert, 判定某些方法是否执行, 返回类型是否正确, 返回的数据是否正确等.
Build 测试会通过的:
?
其它路径的测试
目前该方法还有两处地方没有被覆盖:
?...这两个很简单, 不多介绍了, 注意这里使用了async版本的Assert.Throws().
这两个测试会pass, 最终该方法的代码覆盖率就达到100%了:
?