我应该为每种公共方法编写单元测试吗?例如,我有一个CRUD服务,所以我有
create, read, update, delete
个方法。但是当我向delete
或update
方法编写测试时,我会隐式测试read
和create
方法(例如,首先测试update
方法我需要创建一个实体(create
),然后检索它(read
),然后检查它update
,然后再次检索它以确保它已更改。
答案 0 :(得分:5)
我会为get
和create
编写测试,是的:
delete
/ update
的实施更改为而不是使用get
/ create
,那么您仍在测试{ {1}} / get
理想情况下,我会尝试(不要过于担心)设置测试并检查“较低”级别的数据 - 例如执行直接内存数据库访问。这样你真的在测试“如果我创建一个实体,数据库中的数据看起来像{this}”(同样在获取时)。只是能够创建然后再次获得相同的结果就黑盒测试而言是好的,但我通常认为单元测试更像白盒。
答案 1 :(得分:1)
我应该为每种公共方法编写单元测试吗?是
为每个公共方法编写测试用例是最好的。要测试删除操作,您应首先调用创建测试,然后调用删除测试方法。这样您的删除测试方法将是独立的,您可以测试所有可能的场景。