0

シリアルを で解析できない場合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
}
4

0 に答える 0