在NUnit 2.5.8中使用TestContext时出现NullReferenceException

时间:2010-11-10 06:07:44

标签: c# nunit

最近升级到NUnit 2.5.8以便使用新的TestContext功能。这样我们就可以确定当前的测试名称以便检索属性:

private T GetAttribute<T>() where T : class
{
  return Attribute.GetCustomAttribute(GetType().GetMethod(TestContext.CurrentContext.Test.Name), typeof(T)) as T;
}

但是,我们在访问属性TestContext.CurrentContext.Test.Name时看到NullReferenceExceptions,因为似乎没有正确注册NUnit CallContext。

是否有其他人遇到此问题,或者是否可以建议另一种从SetUp确定当前测试名称的方法?

1 个答案:

答案 0 :(得分:0)

这不是你问题的答案,但是在使用TestDriven.NET's xcopy-deployable NUnit Test Runner使用NUnit 2.5.7并点击NullReferenceException时遇到了类似的问题,因为TestDriven.NET仍在运行2.5.5(它附带)下的测试,而不是我的项目引用的NUnit。

当我需要引用nunit.framework.dll中找到的NUnit\NUnit-2.5.7.10213\bin\net-2.0时,问题结果是我引用了NUnit\NUnit-2.5.7.10213\bin\net-2.0\framework中的{{1}}。为什么有两个副本我不知道,但指向正确的DLL会产生重大影响。