2012-02-27 40 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