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