ASP.NET Core 1.0プロジェクトにNUnitを設定したかったのです。私は次のように試してみた:http://www.alteridem.net/2015/11/04/testing-net-core-using-nunit-3/ しかし、それはコンソールアプリケーションのためだ。ASP.NET MVCコア1.0でNunitを設定する
新しいプロジェクト(クラスライブラリ)をソリューションにアタッチして、元のプロジェクトを参照しようとすると、参照エラーが発生します。ここで
が私のために働いていたものです:コンソールライブラリプロジェクトとは対照的に、
- 私は、私の元のプロジェクトへの書き込みテスト専用の別のWebアプリケーションプロジェクトを、添付しました。
- 次に、 "dotnet-test-nunit"、 "NUnit"、 "NUnit.Console"、 "NUnit.Runners"のNuGetパッケージをダウンロードしました。
- それから私はproject.jsonに次の行を追加した後に働いていたテストを書いた:
"testRunner": "nunit"
これは私のテストプロジェクトからproject.jsonファイルです:
`
{
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"JustForTest": "1.0.0-*",
"NUnit": "3.4.1",
"NUnit.Runners": "3.4.1",
"NUnit.Console": "3.4.1",
"dotnet-test-nunit": "3.4.0-beta-2"
},
"tools": {
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"runtimeOptions": {
"configProperties": {
"System.GC.Server": true
}
},
"publishOptions": {
"include": [
"wwwroot",
"web.config"
]
},
"testRunner": "nunit",
"scripts": {
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
}
}`
以下の質問があります:
- これは最適化されたプロセスのようには見えません。どうすれば最適化できますか?
- コンソールアプリケーションでテストがうまくいかなかったのはなぜですか?
ご協力いただければ幸いです。私はTDDの初心者であり、C#でのプログラミングに関してもそういう意味で提案があれば、それも親切に共有してください。
ありがとうございました。
あなたの答えをありがとう。あなたのブログは、ステップバイステップのプロセスを表示する際に本当に助けになりました。 – Blaze
Robにもありがとうと思います。私のテストはVisual Studioでうまく動作しています。私はそれらをVSTS/Visual Studio Onlineで動かすことはできないようです。私が見つけたすべての記事は、テスト・アダプター・ナゲット・パッケージで動作することを示唆しています。そのいずれも.netコアでサポートされていません。 –
NUnit、MSTest、xUnitのローカルとVSTSを完全に実装しようとしましたが、xUnitが最高のサポートを受けています - 詳細とリンクはhttp://stackoverflow.com/q/40093573/2579219 –