0
同時使用nunit和R#,我想在TestFixtureSetUp
的TestContext
中使用Property
,並且我得到一個空例外。
我不能使用TestContext
在TestFixtureSetUp
TestContext.CurrentContext.Test在燈具設置上爲空
同時使用nunit和R#,我想在TestFixtureSetUp
的TestContext
中使用Property
,並且我得到一個空例外。
我不能使用TestContext
在TestFixtureSetUp
TestContext.CurrentContext.Test在燈具設置上爲空
爲什麼你能夠在測試夾具設置爲使用它?這是每個測試夾具運行一次的方法,不是特定於給定的測試,那麼什麼是有意義的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(沒有特定的測試上下文)
我想使用屬性如果激活一個服務的'主機',我想這樣做一次,而不是在每次測試之前 – guyl 2012-02-27 22:36:55
使用TestFixtureSetUp是一個很好的習慣,如果所有的在同一個燈具內進行測試需要設置 - 因爲它只能運行一次(TestFixtureSetUp中不需要代碼的測試通常應該在不同的燈具中)。我的觀點是,你得到的錯誤*和*名稱「TestContext」表明TestContext類只有在運行單個測試(包括它的設置和拆卸)但不包括fixture- level方法 – kaj 2012-02-27 22:46:46
所以如果你想爲一個服務激活一個Host,TestFixtureSetUp聽起來像是做這件事的正確地方,但這可能與TestContext分離 - 相反,只需要在fixture類型級別定義一個變量 – kaj 2012-02-27 22:51:24