152
社区成员




这个作业属于哪个课程 | 2301-计算机学院-软件工程 |
---|---|
这个作业要求在哪里 | 团队作业——站立式会议+alpha冲刺 |
这个作业的目标 | 项目测试大致安排和规范 |
团队名称 | 饭醉团队 |
团队项目 | 知食分子 |
团队随笔置顶集合 | 饭醉团队——Alpha冲刺随笔置顶 |
由于本项目的体量并不大,同时考虑到开发的时间和成本,就只需要写后端的单元测试即可,保证关键功能逻辑的正确性,同时确保后续开发不会影响到先前功能逻辑的执行。
测试工作主要由项目的主要开发人员完成,具体负责的部分就是自己写过的代码,主要集中在Service层做单元测试。
因为后端采用Springboot框架开发,所以主要采用的测试工具是JUnit5框架和Mockito作为mock工具。
由于版本更新修改了一些包名,严禁使用JUnit4。
mock框架统一使用 mockito (静态方法也可以 mock),不使用PowerMock
覆盖率统计统一使用Jacoco
遵守之前提到的原则,测试代码的 Java Package 与被测代码相同
测试类前缀是类名,后缀是Test,中间Xxx自定义 例如AImpl => AImplTest、AImplXxxCase1Test
测试方法包含原来的方法名,例如方法filterY可以有如下的测试方法名 testFilterY filterY testFilterYCase1
通过mvn clean test运行
不允许把测试代码写到src/main下 测试工具的dependency,scope必须是test
src/test/java 存放测试代码 被编译到文件夹 target/test-classes src/test/resources
存放测试用到的配置,报文,SQL文件等 被编译到文件夹 target/test-classes
使用mock框架mock数据库操作,最后再用verify检验dao或者repository的方法调用了几次,入参是否符合预期。这个方法运行速度快,且数据库宕机时不影响测试,但编码难度高。
外部服务必须被mock 不能因为外部服务宕机,导致自己的单元测试无法通过。
测试用例文档是测试工作的核心。确保文档清晰、详细,包括以下信息:
出于简单明了方便,直接使用Javadoc作为文档书写方式。
精炼成两个体会就是:找出遗漏的测试用例,找出根本无用的代码。
这样可以大大提高代码的健康性。
在项目结束时,对测试工作进行评述,总结经验教训,包括: