0

コンソール プログラムを使用して、C# で記述された Nunit テスト ケースを実行しようとしています。これまでのところ、私はそれを行うためにさまざまな方法を試しましたが、同じことを達成するための完璧なアプローチ方法を見つけることができませんでした.

アプローチ 1: NUnitTestAdapter パッケージを使用します。このパッケージは古いため、最新の nunit バージョン 3.2.1 を使用して作成されたテストを実行できません。しかし、2.6.4 のような古いバージョンでは問題なく動作します。

NUnitTestAdapter パッケージをソリューションに追加してから、以下のコードを試しました

CoreExtensions.Host.InitializeService();
        TestSuiteBuilder builder = new TestSuiteBuilder();
        TestPackage testPackage = new TestPackage(@"path to dll");
        RemoteTestRunner remoteTestRunner = new RemoteTestRunner();
        remoteTestRunner.Load(testPackage);
        TestSuite suite = builder.Build(testPackage);
        TestSuite test = suite.Tests[0] as TestSuite;
        var numberOfTests = ((TestFixture)test.Tests[0]).TestCount;
        int i = 0;
        foreach (TestMethod t in ((TestFixture)test.Tests[0]).Tests)
        {
            Console.WriteLine(t.TestName.Name);
            //TestName testName = ((TestMethod)((TestFixture)test.Tests[0]).Tests[i]).TestName;
            TestFilter filter = new NameFilter(t.TestName);
            TestResult result = test.Run(new NullListener(), filter);
            ResultSummarizer summ = new ResultSummarizer(result);
            NUnit.Core.NUnitFramework.Assert.AreEqual(1, summ.ResultCount);
            i++;
        }

これの更新されたバージョンを入手できますか?これは素晴らしい解決策です。

アプローチ 2: Nunit3-console を使用する

nunit3.console.exe への参照をプロジェクトに追加し、以下のコードで試しました

string path = @"path to dll";
NUnit.ConsoleRunner.Program.Main(new[] { path });

これにより、「アセンブリにテストが含まれていないか、適切なテスト ドライバーが見つかりませんでした」というエラーがスローされます。

実行ログを使用してテストを実行する方法を教えてください。

4

1 に答える 1