是否可以使用适用于Silverlight的VS2010测试工具编写参数化测试?
在常规NUnit测试中,这将使用TestCase属性...
完成[Test]
[TestCase("myParam1")]
[TestCase("myParam2")]
[TestCase("myParam3")]
public void TestSomethingWithParameters(string myParam)
{
// ...some tests using myParam
}
这可以使用VS2010测试工具吗?
答案 0 :(得分:1)
不,这是不可能的。下一个最好的事情是使用数据驱动的测试,例如。
http://callumhibbert.blogspot.com/2009/07/data-driven-tests-with-mstest.html
还查看MSDN文档。
答案 1 :(得分:0)
您可以使用测试方法创建基类,并将参数创建为虚拟属性。 从此类继承时,只需使用所需的值覆盖属性。 请参阅示例代码:
public class Operation
{
public static int Add(int x, int y)
{
return x + y;
}
}
[TestClass]
public class AddTests : WorkItemTest
{
protected virtual int First{get { return 0; }}
protected virtual int Second{get { return 0; }}
[TestInitialize]
public virtual void Init()
{
//Init code
}
[TestCleanup]
public virtual void Clean()
{
//Clean code
}
[TestMethod]
[Description("x+y = y+x")]
public virtual void Test_operation_commutativity()
{
Assert.AreEqual(Operation.Add(Second, First), Operation.Add(First, Second));
}
}
[TestClass]
public class AddPositiveTest : AddTests
{
protected override int First { get { return 1; } }
protected override int Second { get { return 2; } }
}
[TestClass]
public class AddNegativeTest : AddTests
{
protected override int First { get { return -1; } }
protected override int Second { get { return -2; } }
}