我很久以来一直希望在MSTest中看到的一项功能是参数化单元测试(PUT)。我很高兴听到Intellitest would be capable of creating said tests。但是,我已经开始使用Intellitest,并且我认为我对PUT的定义与Microsoft的定义不同。

当我想到“PUT”时,我想到TestCases in NUnitTheories in xUnit。人们比我聪明得多seem to use the same terminology

有人可以告诉我Intellitest是否实际上能够以NUnit或xUnit相同的方式创建PUT,或者这是一个术语过载的问题,意味着Intellitest中的一件事,而对于大多数其他测试框架又是另一件事?谢谢。

最佳答案

As of June 2016,此功能已添加到“MSTest V2”中,可以通过添加 MSTest.TestAdapter MSTest.TestFramework 软件包通过NuGet进行安装:

Install-Package MSTest.TestAdapter
Install-Package MSTest.TestFramework



一旦安装了这些,就可以简单地使用RowDataAttribute,如以下示例所示:

[TestMethod]
[DataRow(1, 1, 2)]
[DataRow(3, 3, 6)]
[DataRow(9, -4, 5)]
public void AdditionTest(int first, int second, int expected) {
  var sum = first+second;
  Assert.AreEqual<int>(expected, sum);
}



如果您熟悉的话,这与Windows Store App projects以前可用的实现相同。

10-08 20:01