单元测试该如何取名
前言:如果我们要写好我们的单元测试,可能我们要有好的布局,也要规划好如何去创建单元测试的类,单元测试的方法,下面简单的说一下。
1:分开集成测试和单元测试
如果我们把集成测试和单元测试放在一起如果出现问题可能出现的原因比较多那么我们直接进行分离,建立2套类库。如下图
2:将测试类映射到测试代码
2.1:每一个被测试的类对应一个测试类
就是在测试项目中,用被测试类的名字加上UnitTests后缀命名。如果被测试类是Login,测试项目中创建的测试类就是LoginUnitTests。这种就是每一个类一个测试类。
2.2:每个功能对应一个测试类
就是为每一个方法创建一个测试类,不过由于方法比较多,会出现大量的测试类,所以需要权衡一下,比喻项目中某些功能需要测试用例特别多那么你就需要为这单独的功能添加测试类。比喻GetAuthory这个方法的测试用例比较多,那么我们就需要单独的把他测试用例放一个类中。这时候我们需要创建2个测试类,AuthoryUnitTests_GetAuthory和AuthoryUnitTests前者包含GetAuthory的测试后者包含其他所有的测试。
3:方法怎么去命名
在单元测试中我们尽量少些注释,以至于不写,那么我们就要写出很高质量的测试名称,那么可以采取 准备对象-操作对象-断言 的模式。
准备对象:就是你要为他测试的对象,说白了就是你的方法名称比喻AddUser,DeleteUser等
操作对象:你将要对这个对象具有什么样的操作,比喻有效的用户名,无效的用户名等
断言:就是对结果做出判断,比喻这个操作会抛异常,这个操作正常,这个操作会失败,这个值会发生改变等
下面举个例子
AddUser_ValidUserInfo_ReturnsTrue
当添加一个有效的用户的时候应该返回True
AddUser_IdIsNullOrEmpty_Throws
当添加用户的时候Id会Null或者Empty的时候回抛出异常。
比喻还有些调用没有返回值但是可以看见状态的改变
Add_WhenCalled_StateChange(Add为一个例子)
就是当调用Add这个方法的时候回导致我们系统状态的改变
以上只是建议。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?