单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。正常来说都是对一个函数方法进行测试,需要测试这个函数的输出跟输入是不是有对应上,异常,边界情况是不是会有处理好。输出除了该函数的返回值,还包括调用了其它的方法的参数,或者有没有存储到数据库等。 在C#当中,如果一个类依赖于具体实现,或者静态类比如说时间。就会让我们的很难写单元测试。通过使用依赖注入可以让我们的单元测试变得容易。 输了单元测试,我们还有集成测试, 在Asp.net API当中通过是对一个 Action进行测试。(会发现如果我们测试这个东西想把所有的路径都覆盖到,哪需要写的测试代码太多了。) 在集成测试上面我们通常还有会E2E测试,会把很多功能串起来测试。(这个通常是QA来完成的)
缺点:
优点:
在这个教程中我们主要就是学习上面的三个框架。和如何对一些常见的类进行Mock和断言。 比如DbContext, IConfiguration 和 ILogger
在 class 上面加一个attribute
[Collection("console")]
public class XXXTest
{
}