我很久以来一直希望在MSTest中看到的一项功能是参数化单元测试(PUT)。我很高兴听到Intellitest would be capable of creating said tests。但是,我已经开始使用Intellitest,并且我认为我对PUT的定义与Microsoft的定义不同。
当我想到“PUT”时,我想到TestCases in NUnit或Theories 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以前可用的实现相同。