NUnitおよびMbUnitには、異なるテストセットを1つのテストに送信できるRowTest属性があります。単体テストでRowTestを使用することをお勧めします
[RowTest]
[Row(5, 10, 15)]
[Row(3.5, 2.7, 6.2)]
[Row(-5, 6, 1)]
public void AddTest(double firstNumber, double secondNumber, double result)
{
Assert.AreEqual(result, firstNumber + secondNumber);
}
私はこの機能の巨大なファンであった。私はどこでもそれを使用しました。しかし、最近、単体テストでRowTestを使用することをお勧めしますか?ここにはさらに理由があります:
単体テストは非常に簡単でなければなりません。バグがある場合、テストで何がテストされているか把握するのに多くの時間を費やしたくありません。複数の行を使用する場合、各行には送信されたパラメータセットが異なり、異なるテストが行われます。
また、TestDriven.NETを使用しているので、私のIDE、Visual Studioからユニットテストを実行できます。 TestDrivent.NETでは、特定の行を実行するように指示することはできません。すべての行が実行されます。したがって、私がデバッグするとき、私は他のすべての行をコメントアウトし、私が作業しているものだけを残す必要があります。私はまだ時折RowTest属性を使用することを言っ
[Test]
public void Add_with_positive_whole_numbers()
{
Assert.AreEqual(5, 10 + 15);
}
[Test]
public void Add_with_one_decimal_number()
{
Assert.AreEqual(6.2, 3.5 + 2.7);
}
[Test]
public void Add_with_negative_number()
{
Assert.AreEqual(1, -5 + 6);
}
が、私はこの後で作業する必要がある場合、私を遅くするつもりはないと信じていた場合にのみ:
は今日ここに私のテストを書くだろうか例です。
ユニットテストでこの機能を使用することをお勧めしますか?
また、私はそれが私の固有の怠惰でうまくいきます。 – Gishu