コンソールプログラムを使用してC#で書かれたNunitテストケースを実行しようとしています。これまで私はそれを行うにはさまざまな方法を試しましたが、同じ目的を達成するための完全な方法を見つけることはできませんでした。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.exeへの参照を追加しました。これはというエラーを投げている「のいずれかのアセンブリはありませんが含まれてい
コードの下string path = @"path to dll";
NUnit.ConsoleRunner.Program.Main(new[] { path });
で試してみましたNunit3-コンソールを使用して、テストまたは適切なテストドライバが見つかりませんでした」
実行ログを使用してテストを実行する方法を教えてもらえますか?
あなたの説明のおかげで、チャーリー、私はプログラムでnunitテストを実行するために非常に多くの記事を読んで、私はそれらを実行する古い方法を取ったかもしれません。私はあなたが返信で言及したようにドキュメントを参照します。 – user3625533
あなたは[this](https://github.com/nunit/docs/wiki/Test-Engine-API-Spec)Apiを参照していると思います。それは安定版ですか?私はトップに「変更される可能性がある」というコメントがあることがわかります。 – user3625533
APIは、3.0、3.0.1、3.2、および3.2.1の4つのリリースに移行しました。私たちはそれに追加しましたが、何も削除しませんでした。 – Charlie