考虑下面的类和方法:单元测试是否应确保调用特定的方法来获得结果?
public class CarService
{
private readonly ICarModelService _cardModelService;
public TestMe(ICarModelService service)
{
_service = service;
}
public Car Add(string vin)
{
var model = _cardModelService.GetByVIN(vin);
if (model == "Chevy")
throw new InvalidCarModelException();
// other logic
}
}
当测试Add
方法,它是明智的,以确保(通过NSubstitute's Received
function)呼叫_cardModelService.GetByVIN(vin)
接收或者我应该只测试异常InvalidCarModelException
被抛出?
这个测试是否太多?
我认为你应该只测试需要测试的东西,而不仅限于此。因为测试代码也是代码,你也需要维护。如果你认为你的测试增加了很少的价值,那就再三考虑我的2c。 – Leo 2014-10-07 04:42:50