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完成同类事物的最佳方法是什么?我找不到类似的属性集.
对于那些使用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); }
更多关于它的信息
这会有帮助吗?
本周我将一些单元测试添加到由TFS管理的项目中,因此我决定使用VS2008提供的"核心"单元测试框架,不幸的是它不支持RowTests.但它有一个类似的功能叫做数据驱动单元测试.使用这种方法,实现"简单"RowTest场景会更复杂一些,但它也允许实现更复杂的场景.
您可以通过编写mstest的小扩展来实现此功能,如此处所示.
http://blogs.msdn.com/b/vstsqualitytools/archive/2009/09/04/extending-the-visual-studio-unit-test-type-part-2.aspx