考慮下面的類和方法:單元測試是否應確保調用特定的方法來獲得結果?
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