java – 我应该为每个公共方法编写单元测试吗?
作者:互联网
我应该为每种公共方法编写单元测试吗?例如,我有一个CRUD服务,所以我有
创建,读取,更新,删除方法.但是当我编写测试来删除或更新方法时,我会隐式地测试读取和创建方法(例如,首先测试更新方法我需要创建一个实体(创建),然后检索它(读取),然后更新它然后检索它再次确保它改变了).
解决方法:
我会为get和create编写测试,是的:
>它可以更容易地将您故意测试的行为与您偶然测试的行为分开
>它可以更轻松地测试故障条件以及其他方法未涵盖的其他方案
>这意味着如果您将删除/更新的实现更改为不使用get / create,那么您仍在测试get / create
理想情况下,我会尝试(没有太多关于它)来设置测试并检查“较低”级别的数据 – 例如执行直接内存数据库访问.这样你真的在测试“如果我创建一个实体,数据库中的数据看起来像{this}”(同样在获取时).只是能够创建然后再获得相同的结果在黑盒测试方面很好,但我通常认为单元测试更像是白盒子.
标签:java,unit-testing,language-agnostic,junit 来源: https://codeday.me/bug/20190825/1723285.html