반환 테스트 NUnit과 테스트 케이스를 작성하는 방법 :문자열의 정확한 목록은 내가 좋아하는 방법이
public virtual IList<string> Validate()
{
...
}
내가 단위 테스트를 사용하여이 NUnit를 원하는합니다. 이것은 차량 클래스의 일부입니다.
Vehicle
은 다른 유형일 수 있습니다. 내 TestFixture
의 상단에 Car
Boat
등
Truck
은 내가 VehicleTypes
를 설정 :
private VehicleType[] _vehicleTypes;
[SetUp]
public void MyTestInitialize()
{
transScope = new TransactionScope();
var boat= new VehicleType { Name = "boat" };
var car = new VehicleType { Name = "car" };
var truck = new VehicleType { Name = "truck" };
_vehicleTypes= new VehicleType[] { boat, car, truck };
...
}
내가 원하는 것은 오류 메시지가 보트 만의 방법에서 다시 전송하는지 테스트하는 것입니다. 다음과 같이
내 단위 테스트는 다음과 같습니다
[TestCase(0, "This vehicle is inappropriate because it doesn't have wheels")]
[TestCase(1, null)]
[TestCase(2, null)]
public void Validate_Vehicle_ReturnsAppropriateErrorMessage(int vehicleType, string expectedResult)
{
var vehicle = new Vehicle { VehicleType = _vehicleTypes[vehicleType] };
var results = vehicle.Validate();
string result;
if (results.Count == 0)
result = null;
else
result = results[0];
Assert.IsTrue(expectedResult == result);
}
그래서 이것이 내가 테스트 케이스를 사용하여 테스트하려고했던 방법이었다. 그러나 단위 테스트가
ifs
을 포함해서는 안되기 때문에 올바른 접근 방식인지 확신 할 수 없습니까?
또 다른 유형의 테스트를 작성하는 이상한 방법일까요?
누구든지 더 좋은 제안이 있으십니까?