阿里云云栖号 阿里云云栖号 -

谈谈如何使用好单元测试这把武器

学习单元测试不应该仅仅停留在技术层面,比如你喜欢的测试框架,mocking 库等等,单元测试远远不止「写测试」这件事,你需要一直努力在单元测试中投入的时间回报最大化,尽量减少你在测试中投入的精力,并最大化测试提供的好处,实现这两点并不容易。

本文介绍单元测试的最佳实践,包括自动化、独立、可重复、覆盖度达标等要点。需要注意隐藏的测试边界值、不要在springboot测试中使用@Transactional以及操作真实数据库、单测里时间相关的内容、final类、static类等的单元测试、应用启动报Can not load this fake sdk class的异常、metaq怎么写单测等问题。建议尽量使用IOC解耦对象,不要为了覆盖率测没意义的代码,如toString、getter、setter等。对于void方法,可以通过验证数据库的条数变化等校验其正确性,也可以通过dothrow来mock方法抛出的异常。

单元测试 异常处理 最佳实践 自动化 覆盖度

相关推荐 去reddit讨论