当前位置:  开发笔记 > 小程序 > 正文

MSTest等效于NUnit的参数化测试?

如何解决《MSTest等效于NUnit的参数化测试?》经验,为你挑选了3个好方法。

NUnit支持一项功能,您可以在其中指定一组数据输入,以便多次运行单元测试.

[RowTest]
[Row(1001,1,2,3)]
[Row(1,1001,2,3)]
[Row(1,2,1001,3)]
public void SumTests(int x, int y, int z, int expected)
{
   ...
}

使用MSTest完成同类事物的最佳方法是什么?我找不到类似的属性集.



1> Israel Rodri..:

对于那些使用MSTest2的人,可以使用DataRow + DataTestMethod:

[DataRow(Enum.Item1, "Name1", 123)]
[DataRow(Enum.Item2, "Name2", 123)]
[DataRow(Enum.Item3, "Name3", 456)]
[DataTestMethod]
public void FooTest(EnumType item, string name, string number)
{
    var response = ExecuteYourCode(item, name, number);

    Assert.AreEqual(item, response.item);
}

更多关于它的信息


这是此问题的最新答案,也是最适用的答案。

2> Jorge Ferrei..:

这会有帮助吗?

本周我将一些单元测试添加到由TFS管理的项目中,因此我决定使用VS2008提供的"核心"单元测试框架,不幸的是它不支持RowTests.但它有一个类似的功能叫做数据驱动单元测试.使用这种方法,实现"简单"RowTest场景会更复杂一些,但它也允许实现更复杂的场景.



3> Aseem Bansal..:

您可以通过编写mstest的小扩展来实现此功能,如此处所示.

http://blogs.msdn.com/b/vstsqualitytools/archive/2009/09/04/extending-the-visual-studio-unit-test-type-part-2.aspx

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有