2012-10-23 60 views

回答

2

將測試數據的非共享初始化移動到每個[TestMethod]方法。

初始化方法對於每個測試都會調用一次,因此只需將不想運行所有測試的代碼移動到特定方法中即可。

1

你可以通過將它們分成兩個類來實現。或者,如果它們都使用相同的方法和變量,則將它們放入從具有共享方法和數據的公共基類繼承的子類中。

0

最好的辦法是把你的Test Methods分成不同的Test Classes。但是,如果您希望將它們全部合併爲一個Test Class,則可以爲每個測試創建不同的初始化方法:

[TestClass] 
public class TestClass 
{ 
    [TestInitialize] 
    public void Initialize() 
    { 
     switch (TestContext.TestName) 
     { 
      case "TestMethod1": 
       this.InitializeTestMethod1(); 
       break; 

      case "TestMethod2": 
       this.InitializeTestMethod2(); 
       break; 

      default: 
       break; 
     } 
    } 

    [TestMethod] 
    public void TestMethod1() 
    { 
    } 

    [TestMethod] 
    public void TestMethod2() 
    { 
    } 

    private void InitializeTestMethod1() 
    { 
     // Initialize TestMethod1 
    } 

    private void InitializeTestMethod2() 
    { 
     // Initialize TestMethod2 
    } 

    public TestContext TestContext { get; set; } 
} 
相關問題