测试粒度如何划分
测试粒度如何划分是个大问题。Chris Richardson 在" [降低测试金字塔:微服务的有效测试策略](https://microservices.io/microservices/testing/2019/09/20/oracle-code-one-testing.html)" 一文中将服务测试划分为:单元测试、集成测试、组件测试、端到端的测试。我们可以在设计测试用例的过程中,拿来借鉴。
单元测试
1.写单元测试的收益
- 单元测试能帮助每个人深入代码细节,了解代码的功能。
- 通过测试用例我们能发现bug,并提交代码的健壮性。
- 测试用例同时也是代码的demo用法。
2.单元测试用例的一些设计原则
- 应该精心设计好步骤,颗粒度和组合条件。
- 注意边界条件。
- 单元测试也应该好好设计,不要写无用的代码。
- 当你发现一个
方法
很难写单元测试时,如果可以确认这个方法
是臭代码
,那么就和开发者一起重构它。
- Higress中用的mock框架是: mockito. 下面是一些开发向导:mockito tutorial,mockito refcard
- TDD(可选):当你开始写一个新的功能时,你可以试着先写测试用例。
3.测试覆盖率设定值
4.项目约定
- Higress 项目的单元测试用例分布在项目每个子模块中,测试断言类以Test结尾。
集成测试
项目约定