2016-10-17 11 views
3

TLDR - 動作中のxUnitまたはMSTest設定の詳細については、こちらにジャンプしてください。 xUnitは、最も苦痛な選択肢でした。MSTest、xUnit、またはNUnitをdotnetコアで使用する

私はビルドサーバでNUnitを動作させることができませんでしたので、xUnitとMSTestの両方を試してみました。どちらも私のために働いていません。

MSTestを私はちょうどいけない取得 - 私はこれが動作するように期待が、私はnugetからDOTNET-テストMSTESTをインストールしようとすると、そのすべてが依存ライブラリは、例えばnetcoreapp1のための互換性がありませんだと私は依存関係の問題を取得します....

依存関係MSTest.ObjectModel 1.0.1プレビューは、.NETCoreApp、Version = v1.0フレームワークをサポートしていません。

依存関係MSTest.TestAdapter.Dotnet 1.0.4-previewはフレームワークをサポートしていません。

これはなぜ起こっているのかもしれないのですか?

+0

エラーを表示する必要があります。そうでなければプロジェクトのjsonが推測できます。その上に - あなたがNuGet https://www.nuget.org/packages/MSTest.TestAdapter.Dotnet/に行くと、「所有者はこのパッケージを非公開にしています。もう使用しないでください。 - これはあなたの問題の一部かもしれないと思います。 – Pawel

+0

私はもう本当に提供できません - エラーメッセージは私の元の記述にあります。私は空のプロジェクトを作成しているだけです。重要な問題は、それがまったくインストールされないということです。私はMicrosoftが他のすべてのものと並んでテストフレームワークをアップグレードしていないのだろうかと思います。オンライン情報はまれであり、バージョン間で分離することは非常に困難です。 –

+0

私も非公開のメッセージを見ました。私はあなたが正しいかもしれないと思いますが、代わりに何をすべきかを示していません。 –

答えて

6

私はMSTestをDOTNETコアプロジェクトが動作するコンソールアプリケーションとして作成する必要があると思われ

https://docs.microsoft.com/en-us/dotnet/articles/core/testing/using-mstest-on-windows

...これらの指示に従って、新しいプロジェクトを作成することによって、この作業を取得するために管理..?

他の人を助ける目的で、ここで私が終わったプロジェクト.jsonがあります。

私は2つの重要なことを別々にしているようです。新しいproject.jsonで、それは、これはの枠組みセクションに配置された元project.jsonに(

"Microsoft.NETCore.App": { 
     "type": "platform", 
     "version": "1.0.1" 
    } 

でしばらくの間...

"NETStandard.Library": "1.6.0" 

私のキー依存関係が以前だっ開始ファイルを従属関係として使用します)。

もう1つは、 'newtcoreapp1.0'のインポートセクションにあります。元のproject.jsonでは、これを使用しましたが、実際にはdnxcore50をインポートしましたが(私はまだこれが正しいと確信していませんが)。

MSTest.TestFrameworkの1.0.5プレビューにバグがあります。以前のバージョンのバージョンを変更しました。 1.0.5でテストがロードだろうが、一人一人が...エラーで

アセンブリから型「LogMessageHandler」をロードできませんでした。「Microsoft.VisualStudio.TestPlatform.TestFramework

を失敗していました私はどこかのために周りを見回した

これをバグとして送信しますが、運はまだありません。もし誰かが同じ問題でこれを見つけ、それをどこに記録するかを知っていれば私はそれを「+1」します。

それはNUnitの3ですが、完全を期すため、ここではNUnitのために働くproject.jsonファイルが(だと、それは出力ファイルの読書は...)執筆の時点で(VSTS上の問題である

{ 
    "dependencies": { 
     "MyLibrary": { 
      "target": "project" 
     }, 
     "NETStandard.Library": "1.6.0", 
     "NUnit": "3.5.0", 
     "dotnet-test-nunit": "3.4.0-beta-1" 
    }, 
    "frameworks": { 
     "netcoreapp1.0": { 
      "imports": [ 
       "netcoreapp1.0", 
       "portable-net45+win8" 
      ], 
      "dependencies": { 
       "Microsoft.NETCore.App": { 
        "version": "1.0.1-*", 
        "type": "platform" 
       }, 
       "NSubstitute": "2.0.0-rc" 
      } 
     } 
    }, 
    "testRunner": "nunit", 
    "version": "1.0.0-*" 
} 

そして、ここですxUnit - それはVSTS上でより実行可能なようにもう少しそれを再生されます...ここ

{ 
    "version": "1.0.0-*", 
    "buildOptions": { 
     "debugType": "portable" 
    }, 
    "dependencies": { 
     "System.Runtime.Serialization.Primitives": "4.1.1", 
     "xunit": "2.1.0", 
     "dotnet-test-xunit": "1.0.0-rc2-build10015", 
     "NSubstitute": "2.0.0-rc", 
     "MyLibrary": { 
      "target": "project" 
     } 

    }, 
    "testRunner": "xunit", 
    "frameworks": { 
     "netcoreapp1.0": { 
      "dependencies": { 
       "Microsoft.NETCore.App": { 
        "type": "platform", 
        "version": "1.0.1" 
       } 
      }, 
      "imports": [ 
       "dotnet5.4", 
       "portable-net451+win8" 
      ] 
     } 
    } 
} 

もっと本当に便利なのxUnit情報 - https://docs.microsoft.com/en-us/dotnet/articles/core/testing/unit-testing-with-dotnet-test

は全体的に私はかつてのxUnitが遠かったことを、考慮にも取り組んできVSTSを取って、使用する最も簡単なオプションの上、見つかった - あなただけ設定する必要がビルドサーバータスクを起動して、dotnet testコマンドラインを使用し、テストファイルの公開タスクを使用して結果を表示します。多くの痛みの後、私はまだビルドサーバーを渡すためにMSテストを実行することができませんでした。

+2

MSTest.TestFrameworkの1.0.5プレビューについては、まさに正しいです。私はあなたが言ったように1.0.4に変更し、それはすべて正常に動作します。私は.Net Coreに関する正しい文書がない理由を理解していませんか?サイト上の例とコードの一部は、他の地域でも全く機能していません。このチュートリアルでは、「コンソールアプリケーション」ではなく「ライブラリ」を使用する必要があると述べました。 – TTCG

+1

オプションであればxUnitを使うことを強くお勧めします。最後にMStest.Frameworkを動作させるよりも、苦労はありませんでした。それはクロスプラットフォームであることの利点が追加されています。ありがとうKeith。 –

+0

私は今夜​​それを学ぶでしょう。 – TTCG

2

@TTCGが起動したdotnet-test-mstest 1.1.1プレビューとMSTest.TestFramework 1.0.5プレビューの問題は、それ以降のリリースで修正されています。 dotnet-test-mstest 1.1.2-プレビューとMSTest.TestFramework 1.0.6-プレビューでお試しください。

+0

dotnet-test-mstestを1.1.2プレビューにアップグレードしても問題は解決しました。ありがとう! –

関連する問題