nunit TestContext抛出NullReferenceException

时间:2013-04-15 12:16:46

标签: c# unit-testing nunit resharper

我有以下代码:

[TestFixture]
public class LexicalTests
{
    [Test]
    public void LexicalTest1()
    {
        TestContext.CurrentContext.TestDirectory;
    }
}

CurrentContext在尝试获取TestDirectoryWorkingDirectory属性时会抛出异常。

我该如何解决这个问题?

P.S。:在我的家用电脑测试工作完美(没有奇怪的例外)。

1 个答案:

答案 0 :(得分:1)

似乎某些提供运行NUnit单元测试功能的应用程序在TestContext类中存在问题。

下面的课程测试应该通过:

using NUnit.Framework;

namespace UnitTests
{
    [TestFixture]
    public class UnitTests
    {
        [Test]
        public void CurrentContextTest()
        {
            Assert.IsNotNull(TestContext.CurrentContext);
            Assert.IsNotNull(TestContext.CurrentContext.TestDirectory);
            Assert.IsNotNull(TestContext.CurrentContext.WorkDirectory);
        }
    }
}

如果测试未通过,正如Dmitry在上面的评论中所写,请在ReSharper菜单中更改NUnit版本。从Visual Studio中,转到ReSharper - >选项 - >工具 - > NUnit的。单击指定的NUnit安装单选按钮,并确保指定了包含nunit.core.dll,nunit.core.interfaces.dll和nunit.util.dll的文件夹。如果找不到列出的文件,将显示错误。

enter image description here

更改NUnit版本后,重新运行测试,它应该通过。