2017-09-16 4 views
0

私は最近、Visual Studio 2017を使用してWindows 10で.Net Core 2ベースのプロジェクトを作成しました。私は2つのクラスライブラリプロジェクトを持っています.1つはソースコード用で、もう1つはNUnitソースコードのテストケースです。 Visual Studio 2017を使用してこれらのプロジェクトを構築し、テストエクスプローラを使用してテストケースを実行することができます(NUnitアダプタNuGetパッケージをテストプロジェクトにインストールした後)。 Linuxでソースコードをテストしたいので、Linuxでテストケースを実行する方法を探しています。私はLinux上でプロジェクトを再構築したくありません。 誰でもLinux上でNUnitテストケースを実行する方法を教えていただけますか? Linuxマシンで生成されたDLLをコピーできますか?.net core 2を実行する方法LinuxでNUnitテストケースをコンパイルしましたか?

+0

私が 'dotnet test'コマンドをコピーしたDLLで動作しないと思うので、プロジェクトが必要だと思います。テストDLLを実行する自己実行テストEXEを作成するNUnitLiteプロジェクトを追加することができます。 –

+0

'dotnet test'はプロジェクトのみで動作し、' dotnet vstest'は公開されているテスト用dllファイルに使用されます –

答えて

1

あなたがテストプロジェクトを公開し、このようなターゲット・システム上でテストを実行することができ、これは、.NETのコアのテストプロジェクトであると仮定すると:ファイル名を指定して実行dotnet publish -o ..\tests

  • とターゲットに..\testsプロジェクトの内容をコピー機械。
  • マシン上でdotnet vstest yourtestproject.dllを実行してテストを実行します。
+0

ありがとうマーティン あなたが言ったコマンドは正常に動作しているようです。私は何がお勧めの方法のようなもう一つの質問がありますか? Windows OSでプロジェクトを公開し、Linuxで実行しますか? また、Linux OSとラントテストケースを別々にビルドする必要がありますか? – Jaydeep

+0

技術的には違いはありません。個人的には、プロジェクトがすべてのシステム上に構築されていることを確認するのが好きで、Windowsのexec-onlyステップや、Windowsの大文字と小文字を区別しないファイルシステムのためにしか動作しないなど、後で驚くことはありません。しかし、それは味わいです –

+0

他の人は、dllを一度構築して、どこにでもデプロイし、テストして、コンパイラから保護し、バグを構築しなければならないと主張するかもしれません。それは有効な議論でもあります(私はどのコンパイラのバグもどんな設定でも苦痛であると信じていますが)。 –

関連する問題