AspNetCore的单元测试

一、单元测试项目如何创建

VisualStudio新建项目,项目类型选择测试。

 可以看到有许多选项,都大差不差。

这里选择xUnit。

项目名使用要测试的项目名加上“.Tests”后缀。

二、进行单元测试

首先明确测试对象,通常是针对一个类型进行测试,新建Test类,类名为测试对象的类名加上“Test”后缀。

然后创建方法,每个方法上带有Attribute,这里是[Fact],表示该方法是一个测试。

测试方法中分三步骤写单元测试:Arrange、Act、Assert。

一些准备工作可以在测试类的构造函数中进行初始化。

测试AspNetCore的Controller的话,通常Controller会依赖很多类型,集成测试的方法是启动TestHost然后用HttpClient发送请求。在单元测试中则需要脱离环境,需要自己准备好依赖。推荐一个工具:使用Moq

三、进行测试

可以右键测试方法,在右键菜单中点击运行测试,也可以调试测试进行断点。

也可以打开VisualStudio的窗口“测试资源管理器”。测试完成的结果可以很清晰得在窗口中展示。

四、关于测试的覆盖率

可以使用命令行工具dotnet test命令,之后用reportgenerator工具生成html进行查看。

https://learn.microsoft.com/en-us/dotnet/core/testing/unit-testing-code-coverage?tabs=windows

这里推荐使用VisualStudio的扩展Fine Code Coverage。

安装扩展之后在视图->其他窗口中会有“Fine Code Coverage”的窗口选项,打开窗口可以看到运行后的覆盖率。

posted @ 2023-12-27 11:28  陈惊蛰  阅读(32)  评论(0编辑  收藏  举报