2017-01-18 17 views
3

私はASP.NET Coreアプリケーション(NetCoreApp1.1)Web APIプロジェクトを持っており、そのプロジェクトのコントローラをテストしたいと思います。 .NET Coreクラスライブラリ(NetStandard1.6をターゲットにしています)を追加しました。.NETコアでコントローラをテストする方法

ここで問題は、Why doesn't Microsoft.NETCore.App support netstandard1.6?によると、そのクラスライブラリからWeb APIプロジェクトを参照できないということです。

私の質問は、コントローラが別の場所に置かれていない限り、もう私はそれらをもうテストすることができないということですか?おそらくそれを行う方法がありますが、私はVS 2017 RCでそれを達成することができませんでした。

+0

テストを実行するためにxunittestプロジェクトを作成してみませんか? – Woot

+0

NetCoreAppを参照できますか? –

答えて

3

テストプロジェクトは、クラスライブラリではなくコンソールアプリケーションである必要があります。コンソールアプリケーションはMicrosoft.NETCore.Appを参照し、Web APIプロジェクトを参照する際に問題があってはなりません。

作業テストプロジェクトのためのproject.jsonの簡単な例は次のとおりです。

{ 
    "dependencies": { 
    "dotnet-test-xunit": "2.2.0-preview2-build1029", 
    "Microsoft.NETCore.App": { 
     "type": "platform", 
     "version": "1.0.1" 
    }, 
    "xunit": "2.1.0", 
    "MyApiProject": { 
     "target": "project" 
    } 
    }, 
    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": "dotnet" 
    } 
    }, 
    "testRunner": "xunit", 
} 

あなたはVS 2017で.csprojを使用している場合、それは異なって見えるだろうが、原理は同じである必要があります。テストプロジェクトはAPIプロジェクトをローカルで参照でき、Xunitなどのテストランナーを使用してテストを実行します。

+1

それはうまくいって意味がありました。ありがとう!私の次の課題は、VS 2017 RCからNUnitを実行することです –

関連する問題