こんにちは、 dotnet nunit
新しいプロジェクトを作成しましたが、Unit.ConsoleRunner.3.8.0を介してテストを実行しようとすると、このエラーが発生します。
DotnetSDKバージョン2.1.4
エラーを示すサンプルリポジトリ: https :
./build.ps1を実行して、ケーキファイルを実行します。 これを行うと、NuGetからUnit.ConsoleRunner.3.8.0がダウンロードされます。 したがって、それを実行するか、nugetパッケージをダウンロードした後は、ケーキビジネスをスキップして、必要に応じてPowerShellでこれを実行できます。
.\tools\NUnit.ConsoleRunner.3.8.0\tools\nunit3-console.exe .\tests\Demo.Tests\bin\Release\netcoreapp2.0\Demo.Tests.dll
これは、.NET Frameworkプロジェクトとは異なり、.NET Coreプロジェクトには、ビルド時にbin\{configuration}\{tfm}
フォルダーにコピーされたnunit.framework.dllなどの依存関係がないためです。 dotnet publish
を実行する必要があります。 Cakeの場合、それはDotNetCorePublish
か、NUnitの機能を確認してください。 次に、依存関係を含むbin\{configuration}\{tfm}\publish
のアセンブリでテストを実行します。
dotnet test
は、 \publish
パスをdotnet vstest
に渡す前に、このすべての公開を行います。
dotnet vstest
とNUnit Consoleはどちらもプロジェクトではなくアセンブリで動作するため、自己実行テストを作成する場合と同じように、最初に公開する必要があります。
ああ、これは本当に啓発的で役に立ちます。どうもありがとうございました。 ケーキの例を見ると、テストを実行するためにbinディレクトリに移動していることがはっきりと示されています: https :
うまくいけば、これにぶつかった他の誰もがこれを見て、時間を節約するでしょう。
@ jnm2あなたの例はテスト結果を生成しますか? あなたが投稿したウィキから:
dotnet testは現在、コマンドラインオプションをテストアダプターに渡すことをサポートしていないため、NUnitはまだTestResults.xmlを生成できません。
これは私が最後に見たときの状態でした:
https://github.com/jnm2/Cake.SqlServer/blob/ed6093e268114ef640851414e64aabec49d284e8/build.cake#L114 -L134
try
{
DotNetCoreTest("src/Tests/Tests.csproj", new DotNetCoreTestSettings
{
Configuration = configuration,
NoBuild = true,
Logger = "trx",
ArgumentCustomization = a => a.AppendSwitchQuoted("--results-directory", tempDirectory)
});
}
finally
{
if (parameters.IsRunningOnAppVeyor)
{
// dotnet test cannot do more than one target framework per TRX file
// AppVeyor seems to ignore all but the first TRX upload– perhaps because the test names are identical
// https://github.com/Microsoft/vstest/issues/880#issuecomment-341912021
foreach (var testResultsFile in GetFiles(tempDirectory + "/**/*.trx"))
AppVeyor.UploadTestResults(testResultsFile, AppVeyorTestResultsType.MSTest);
}
}
ところで、.NET Core2.0に完全に機能するNUnit.Consoleがまだないのは残念です。 現在のPRを終えたら、誰も私を打ち負かさなければ、私はその方向に向かっています。
こんにちは、これに関する更新はありますか?
https://github.com/nunit/nunit-console/issues/475がフォローするスレッドです。
@orihomieこれはクローズドな問題です。 別の質問をするつもりですか?
@CharliePooleいいえ、* \ NUnit.Console-3.6.1 \ nunit3-console.exeで.netcoreテストを起動しようとしたときに、ビルドプランでこの問題が発生し、例外が発生しました。
@orihomie .NET Coreのコンソールはまだ使用できませんが、 dotnet test
は使用できます。
https://github.com/nunit/docs/wiki/.NET-Core-and-.NET-Standard
https://docs.microsoft.com/en-us/dotnet/core/testing/unit-testing-with-nunit
@orihomieコンソールを介した.NetCoreテストの実行の問題に関するフォローアップについては、nunit / nunit-console#478に注目してください。
最も参考になるコメント
ところで、.NET Core2.0に完全に機能するNUnit.Consoleがまだないのは残念です。 現在のPRを終えたら、誰も私を打ち負かさなければ、私はその方向に向かっています。