2

我有以下代码:

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

CurrentContextTestDirectory尝试获取或WorkingDirectory属性时抛出异常。

我怎么解决这个问题?

PS:在我的家用电脑上测试完美(没有奇怪的例外)。

4

1 回答 1

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 的文件夹。如果找不到列出的文件,将显示错误。

在此处输入图像描述

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

于 2013-04-16T07:41:07.690 回答