私はちょうど.netコア2.0で空のWeb APIプロジェクトを作成しました。 私はデフォルトコントローラを持っており、統合テストを作成したいと思います。インテグレーションテストコントローラー(.netコア2.0 with web api)
[Route("api/[controller]")]
public class ValuesController : Controller
{
// GET api/values
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
目標は統合の自己ホストであり、url api/valuesを入力して戻り値を確認します。
注意:wep api 2とowinのみを使用しています。これはかなり簡単でした。しかし、次のリンク:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/owinは、.netコアアプリケーションはowinを使用すべきではないと言います。
コントローラからメソッドを呼び出さないのはなぜですか? – hugoterelle
私がコントロールをインスタンス化してGet()を直接呼び出すと、ルートとHttp GETの呼び出しである事実がテストされないためです。それはもっと単体テストになるでしょう。 –
このリンクはあなたに役立ちますhttps://docs.microsoft.com/en-us/aspnet/web-api/overview/testing-and-debugging/unit-testing-controllers-in-web-api – hugoterelle