2012-02-27 64 views

回答

0

爲什麼你能夠在測試夾具設置爲使用它?這是每個測試夾具運行一次的方法,不是特定於給定的測試,那麼什麼是有意義的TestContext?

可以將TestSetUp方法(每個測試之前運行)內使用它例如:

[SetUp] 
public void TestSetup() 
{ 
    Console.WriteLine("Setting up the test: {0}", TestContext.TestName); 
} 

只是爲了澄清,代碼執行:
1. TestFixtureSetUp(無特定測試上下文)
2 。TestSetup - 測試1 - TestTearDown
3. TestSetup - 的Test2 - TestTearDown
4. TestSetup - Test3的 - TestTearDown

ñ。 TestFixtureTearDown(沒有特定的測試上下文)

+0

我想使用屬性如果激活一個服務的'主機',我想這樣做一次,而不是在每次測試之前 – guyl 2012-02-27 22:36:55

+0

使用TestFixtureSetUp是一個很好的習慣,如果所有的在同一個燈具內進行測試需要設置 - 因爲它只能運行一次(TestFixtureSetUp中不需要代碼的測試通常應該在不同的燈具中)。我的觀點是,你得到的錯誤*和*名稱「TestContext」表明TestContext類只有在運行單個測試(包括它的設置和拆卸)但不包括fixture- level方法 – kaj 2012-02-27 22:46:46

+0

所以如果你想爲一個服務激活一個Host,TestFixtureSetUp聽起來像是做這件事的正確地方,但這可能與TestContext分離 - 相反,只需要在fixture類型級別定義一個變量 – kaj 2012-02-27 22:51:24