MSTest 2 DataRow
属性を使用して、1つのテストで複数のケースをチェックし始めました。
[TestMethod]
[DataRow(1, 1, 2)]
[DataRow(1, 2, 3)]
public void AdditionWorks(int op1, int op2, int expectedResult)
{
Assert.AreEqual(expectedResult, new Sut().Add(op1, op2));
}
NCrunchとCIの両方でうまく機能します。 DataTestMethod
の代わりにそのようなテストをマークすることになっている特別な属性TestMethod
があることに今だけ気づきました。
違いはありますか?特に1つのバリアントを使用する理由は?
ShreyasRmsftはGitHubで次のようにコメントしています。
こんにちは@cactuaroidDataTestMethodは必要ありません。先に進み、DataRowsでTestMethodを使用して、テストをデータ駆動します。その他の疑問については、公式ドキュメントに従ってください https://github.com/Microsoft/testfx-docs
https://github.com/Microsoft/testfx/issues/614
https://github.com/Microsoft/testfx-docs/issues/64
したがって、Microsoftによれば、DataTestMethodよりもTestMethodを使用することをお勧めします。
以前のバージョンのMSTestと同じ名前空間で同じ属性が定義されているため、両方の属性が機能します。これは、下位互換性のために行われました。
参照 :