title | keywords | description | |
---|---|---|---|
测试覆盖率向导 |
|
测试覆盖率向导。 |
- 单元测试能帮助每个人深入代码细节,了解代码的功能。
- 通过测试用例我们能发现bug,并提交代码的健壮性。
- 测试用例同时也是代码的demo用法。
- 应该精心设计好步骤,颗粒度和组合条件。
- 注意边界条件。
- 单元测试也应该好好设计,不要写无用的代码。
- 当你发现一个
方法
很难写单元测试时,如果可以确认这个方法
是臭代码
,那么就和开发者一起重构它。 - Seata中用的mock框架是: mockito. 下面是一些开发向导:mockito tutorial,mockito refcard
- TDD(可选):当你开始写一个新的功能时,你可以试着先写测试用例。
- 在现阶段,Delta更改代码的测试覆盖设定值为:>=80%,越高越好。
- 我们可以在这个页面中看到测试报告: https://codecov.io/gh/apache/incubator-seata
- Seata 项目的单元测试用例分布在项目每个子模块中,测试断言类以Test结尾。
- 集成测试在本项目泛指单元测试以上级别的测试。
- 项目使用github actions、jiblib maven 插件、fabric maven 插件、testContainers等用来构建Docker镜像,搭建集成测试环境
- 区别于单元测试,某个测试用例,需要依赖第三方中间件的,可以不用Mock, 使用上面介绍的工具搭建docker环境,进行测试。但是也要注意搭建组件的粒度。过于复杂的环境,可以:核心测试依赖的中间件可以docker搭建,非强依赖的可以Mock
- Seata 项目的集成测试用例分布统一放在integration-test子模块中,测试断言类以IT结尾。
- 这里还用 Junit5
- 测试用例并行跑的过程中,注意公共中间件的隔离状态,规划好所造数据,防止冲突。