首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Visual Studio 2015 Intellitest进行参数化单元测试

用Visual Studio 2015 Intellitest进行参数化单元测试
EN

Stack Overflow用户
提问于 2015-07-30 18:56:18
回答 3查看 8.2K关注 0票数 8

我很久以来一直想在MSTest中看到的一个特性是参数化的单元测试(PUT)。我很高兴听到这个智能的将能够创建这样的测试。然而,我已经开始使用Intellitest,我认为我对PUT的定义与微软的不同。

当我想到“放”的时候,我会想到TestCases in NUnit,或者xUnit理论。比我聪明得多的人,似乎使用了相同的术语

有人能告诉我,Intellitest是否真的能够像NUnit或xUnit那样创建一个PUT,或者这是一个过载术语的问题,意味着在Intellitest中有一件事,而对大多数其他测试框架来说是另一回事?谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-01 23:19:11

Intellitest生成的参数化单元测试与其他测试框架中的PUT不一样。

在MSTest/Intellitest的世界中,PUT习惯于智能生成其他单元测试

为了在MSTest中多次使用不同的数据集执行测试,我们仍然需要与数据驱动单元测试搏斗,或者按照如何使用RowTest和MSTest?中的建议使用MSTestHacks

票数 6
EN

Stack Overflow用户

发布于 2017-10-30 20:12:34

截至2016年6月,此功能已添加到"MSTest V2“中,通过添加MSTest.TestAdapterMSTest.TestFramework包可以通过NuGet安装该功能:

代码语言:javascript
复制
Install-Package MSTest.TestAdapter
Install-Package MSTest.TestFramework

请注意,这与附带的测试框架版本不同,例如VisualStudio2017。要使用它们,您可能需要删除对Microsoft.VisualStudio.QualityTools.UnitTestFramework的引用。

安装这些程序后,您可以简单地使用RowDataAttribute,如下面的示例所示:

代码语言:javascript
复制
[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);
}

显然,这里不局限于int。您还可以使用stringfloatbool或任何其他本原值类型

如果您熟悉这一点,这与Windows商店应用程序项目以前可以使用的实现是完全相同的。

票数 7
EN

Stack Overflow用户

发布于 2015-08-02 14:34:09

参数化单元测试(PUT)是通过使用参数对单元测试的简单概括。PUT对整个可能的输入值进行代码行为声明,而不仅仅是一个示例性的输入值。在这方面,它类似于您提供的链接。在生成输入到参数化单元测试中的数据时,IntelliTest可以自动为PUT生成输入数据。我请求您参考以下内容:http://blogs.msdn.com/b/visualstudioalm/archive/2015/07/05/intellitest-one-test-to-rule-them-all.aspx作为上下文。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31731884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档