3

Travis CI を使用してリモート ビルドをセットアップしました。ここに私の設定ファイルがあります:

language: csharp
solution: DungeonGen.sln
install:
  - nuget restore DungeonGen.sln
  - nuget install NUnit.Runners -OutputDirectory testrunner
script:
  - xbuild DungeonGen.sln /p:TargetFrameworkVersion="v4.5.1" /p:Configuration=Stress
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Unit/Common/bin/Stress/DungeonGen.Tests.Unit.Common.dll
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Unit/Generators/bin/Stress/DungeonGen.Tests.Unit.Generators.dll
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Unit/Selectors/bin/Stress/DungeonGen.Tests.Unit.Selectors.dll
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Unit/Mappers/bin/Stress/DungeonGen.Tests.Unit.Mappers.dll
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Unit/Tables/bin/Stress/DungeonGen.Tests.Unit.Tables.dll
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Integration/Bootstrap/bin/Stress/DungeonGen.Tests.Integration.Bootstrap.dll
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Integration/Tables/bin/Stress/DungeonGen.Tests.Integration.Tables.dll
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Integration/Stress/bin/Stress/DungeonGen.Tests.Integration.Stress.dll

ただし、これを実行すると、次の例外が発生します。

$ mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Unit/Common/bin/Stress/DungeonGen.Tests.Unit.Common.dll
Cannot open assembly './testrunner/NUnit.Console.*/tools/nunit3-console.exe': No such file or directory.
The command "mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Unit/Common/bin/Stress/DungeonGen.Tests.Unit.Common.dll" exited with 2.

この例外は、テストのためにロードしようとするすべての DLL に対して繰り返されます。Travis CI のドキュメントによると、パスでワイルドカードを使用できるはずで、正常に動作します。ただし、それが問題を引き起こしているか、その他の問題により、Travis がインストールしたばかりの exe を認識できていません。誰もこれに対する解決策を知っていますか? NUnit のバージョンをハードコーディングしたくありません。可能な限り最新のバージョンを使用したいと考えています。

更新バージョンをハードコーディングしても役に立ちませんでした-3.2.0に設定しても、同じエラーが発生します:

install:
  - nuget restore DungeonGen.sln
  - nuget install NUnit.Runners -Version 3.2.0 -OutputDirectory testrunner

これを生成します:

$ mono ./testrunner/NUnit.Console.3.2.0/tools/nunit3-console.exe ./Tests/Unit/Common/bin/Stress/DungeonGen.Tests.Unit.Common.dll
Cannot open assembly './testrunner/NUnit.Console.3.2.0/tools/nunit3-console.exe': No such file or directory.
The command "mono ./testrunner/NUnit.Console.3.2.0/tools/nunit3-console.exe ./Tests/Unit/Common/bin/Stress/DungeonGen.Tests.Unit.Common.dll" exited with 2.
4

1 に答える 1

5

パッケージのインストール ディレクトリが間違っていたことが判明しまし./testrunner/NUnit.Console.3.2.0/tools/nunit3-console.exe./testrunner/NUnit.ConsoleRunner.3.2.0/tools/nunit3-console.exe。これがいつ変更されたのかはわかりませんが、現在は機能しています。

于 2016-03-31T18:04:54.650 に答える