2010-11-09 101 views
2

是否可以使用VS2010测试工具编写参数化测试Silverlight?使用VS2010测试工具进行参数化测试

在常规NUnit测试,这将使用的TestCase属性来完成...

[Test] 
[TestCase("myParam1")] 
[TestCase("myParam2")] 
[TestCase("myParam3")] 
public void TestSomethingWithParameters(string myParam) 
{ 
    // ...some tests using myParam 
} 

这可能使用VS2010的测试工具?

回答

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; } } 
}