我有以下代码:
[TestFixture]
public class LexicalTests
{
[Test]
public void LexicalTest1()
{
TestContext.CurrentContext.TestDirectory;
}
}
CurrentContext
在尝试获取TestDirectory
或WorkingDirectory
属性时会抛出异常。
我该如何解决这个问题?
P.S。:在我的家用电脑测试工作完美(没有奇怪的例外)。
答案 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的文件夹。如果找不到列出的文件,将显示错误。
更改NUnit版本后,重新运行测试,它应该通过。