【发布时间】:2011-08-31 12:30:24
【问题描述】:
我有一个“配方”方法,我正在尝试使用 TDD 编写它。它基本上会调用不同的方法,偶尔会根据这些方法的结果做出决定:
public void HandleNewData(Data data)
{
var existingDataStore = dataProvider.Find(data.ID);
if (data == null)
return;
UpdateDataStore(existingDataStore, data, CurrentDateTime);
NotifyReceivedData(data);
if (!dataValidator.Validate(data))
return;
//... more operations similar to above
}
我的下意识反应是开始编写测试用例,我验证 HandleNewData 调用了上面看到的方法并传递了预期的参数,并且它在方法调用失败的情况下返回。 但这对我来说有点像是在时间上的巨大投资来编写这样一个测试,几乎没有实际收益。
那么编写这样一个测试的真正好处是什么?还是真的不值得费心?
这似乎只是对其自身代码的过度规范,并且每当该代码必须调用另一个方法或决定不再调用当前方法之一时都会导致维护问题。
【问题讨论】:
标签: unit-testing tdd methodology