C# 使用Visual Studio 2015 Intellitest的参数化单元测试

C# 使用Visual Studio 2015 Intellitest的参数化单元测试,c#,unit-testing,visual-studio-2015,parameterized-unit-test,intellitest,C#,Unit Testing,Visual Studio 2015,Parameterized Unit Test,Intellitest,长期以来,我一直希望在MSTest中看到的一个特性是参数化单元测试(PUTs)。听到那个智力测验我很兴奋。然而,我已经开始使用Intellitest,我认为我对看跌期权的定义不同于微软 当我想到“放”的时候,我想,或者。比我聪明得多的人 有人能告诉我Intellitest是否真的能够以NUnit或xUnit可能的方式创建PUT,或者这是一个重载术语的问题,在Intellitest中意味着一件事,在大多数其他测试框架中意味着另一件事?谢谢。Intellitest生成的参数化单元测试与其他测试框架中

长期以来,我一直希望在MSTest中看到的一个特性是参数化单元测试(PUTs)。听到那个智力测验我很兴奋。然而,我已经开始使用Intellitest,我认为我对看跌期权的定义不同于微软

当我想到“放”的时候,我想,或者。比我聪明得多的人


有人能告诉我Intellitest是否真的能够以NUnit或xUnit可能的方式创建PUT,或者这是一个重载术语的问题,在Intellitest中意味着一件事,在大多数其他测试框架中意味着另一件事?谢谢。

Intellitest生成的参数化单元测试与其他测试框架中常见的PUT不同

在MSTest/Intellitest世界中,PUT用于

为了在MSTest中使用不同的数据集多次执行测试,我们仍然需要按照中的建议进行处理或使用。

参数化单元测试(PUT)是通过使用参数对单元测试的直接概括。PUT针对一整套可能的输入值而不是单个示例性输入值,对代码的行为进行声明。在某种程度上,它与您提供的链接类似。不同之处在于,在生成数据以输入参数化单元测试时,IntelliTest可以自动为PUT生成输入数据。我请求您参考以下内容: 对于上下文。

,此功能已添加到“”,可通过添加和软件包通过NuGet进行安装:

安装包MSTest.TestAdapter
安装包MSTest.TestFramework
请注意,这些与Visual Studio 2017附带的测试框架版本不同。要使用它们,您可能需要删除对Microsoft.VisualStudio.QualityTools.UnitTestFramework的引用

一旦安装了这些属性,您只需使用
RowDataAttribute
,如下例所示:

[TestMethod]
[数据行(1,1,2)]
[数据行(3,3,6)]
[数据行(9,-4,5)]
public void AdditionTest(int-first、int-second、int-expected){
var总和=第一个+第二个;
断言.AreEqual(预期值,总和);
}
显然,这里不限于
int
。您还可以使用
string
float
bool
或任何其他

如果您熟悉的话,这与以前提供给的实现是相同的