mstmdev
2023-03-25 01:02:26 +08:00
对于个人开发的项目还是会尽量去写一些单元测试,确保每一次提交没有打破原先的约定或者重复踩到相同的 bug 。而且个人开发者精力有限,每个修改没法回归测试整个流程,单元测试也是一定的质量保障。
想要追求 100%的覆盖率比较难,而且所谓的 100%覆盖率其实并不会覆盖所有的场景,100%覆盖率只是覆盖了所有的条件分支,但是并没法覆盖所有的分支的组合场景,最好再辅助一些常见场景的集成测试。
另外想要达到 100%的覆盖率必定要写一些 mock ,我的个人项目中曾经为了追求 100%的测试覆盖率,写了一堆 mock 的测试,一开始还好,随着代码量的增加,首先导致了测试代码难以阅读,其次很多 mock 的单元测试回过头来看几乎没有太大意义,脱离了实际的场景,并且很多涉及 mock 的测试几乎无法让其失败,仅仅成了一个形式,最终我删除了这些过度 mock 的单元测试,仅仅保持一定比例的覆盖率,不一定追求 100%,但是尽量保持代码的可维护性和可阅读性