Web api 上带有 .net core 2.0 的 IntegrationTest 控制器

Ced*_*and 0 c# integration-testing asp.net-core-2.0

我刚刚用 .net core 2.0 创建了一个空的 web api 项目。我有一个默认控制器,现在我想创建一个集成测试。

[Route("api/[controller]")]
public class ValuesController : Controller
{
    // GET api/values
    [HttpGet]
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }
}
Run Code Online (Sandbox Code Playgroud)

目标是集成中的自托管,然后输入 url api/values 并检查返回。

注意:我只使用 wep api 2 和 owin,这很容易做到。但是以下链接:https : //docs.microsoft.com/en-us/aspnet/core/fundamentals/owin说.net core 应用程序不应该使用owin,那么我们应该使用什么以及如何使用呢?

小智 5

查看使用 ASP.NET Core 2.0 进行集成测试的官方文档:https : //docs.microsoft.com/en-us/aspnet/core/testing/integration-testing

主要思想是使用您的类配置创建一个TestServer实例。然后您可以从获取一个实例来调用您的自托管 apiWebHostBuilderStartupHttpClientTestServer