シリアルを で解析できない場合int.TryParse
、ArgumentException がスローされることを期待しています。
if(!int.TryParse(serial,out intSerialNumber))
{
throw new ArgumentException("The serial number is not numeric.",nameof(serial));
}
ただし、この動作をテストすると、テストは失敗します。
[Test]
[ExpectedException(typeof(ArgumentException))]
public void throws_argumentException_if_serial_number_is_not_numeric()
{
var sut=new mDevice(serial:"something not numeric",patientid:123);
}
私が得ている例外は次のとおりです。
予想される例外が実際にトリガーされています。なぜテストに合格しないのですか?
クラスのコード:
public class mDevice
{
public mDevice(string serial,int patientid)
{
int intSerialNumber;
serial=serial.Trim();
if(!int.TryParse(serial,out intSerialNumber))
{
throw new ArgumentException("The serial number is not numeric.",nameof(serial));
}
if(patientid<2)
{
throw new ArgumentException("The patient id must be greater than 1.",nameof(patientid));
}
Serial=serial;
PatientId=patientid;
}//more stuff after this constructor, but not including it here
}