2

次のコードがあります。

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

CurrentContextTestDirectory取得またはWorkingDirectoryプロパティの試行中に例外をスローします。

どうすればこの問題を解決できますか?

PS: 私の自宅の PC では、テストは完全に機能します (奇妙な例外はありません)。

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 に移動します。[Specified NUnit installation] ラジオ ボタンをクリックし、nunit.core.dll、nunit.core.interfaces.dll、および nunit.util.dll を含むフォルダーが指定されていることを確認します。リストされたファイルが見つからない場合、エラーが表示されます。

ここに画像の説明を入力

NUnit のバージョンが変更されたら、テストを再実行すると合格するはずです。

于 2013-04-16T07:41:07.690 に答える