1. 程式人生 > >ASP.NET Core 集成測試

ASP.NET Core 集成測試

ref alt () demo ati test microsoft gas mar

集成測試

集成測試,也叫組裝測試或聯合測試。在單元測試的基礎上,將所有模塊按照設計要求(如根據結構圖)組裝成為子系統或系統,進行集成測試。
實踐表明,一些模塊雖然能夠單獨地工作,但並不能保證連接起來也能正常的工作。一些局部反映不出來的問題,在全局上很可能暴露出來。

摘自百度百科

ASP.NET Core 集成測試

新建一個 ASP.NET Core Webapi 項目:

技術分享圖片

修改一下自帶的ValuesController

public class ValuesController : Controller
{
    public int Add([FromQuery]int a,[FromQuery] int b)
    {
        return a + b;
    }
}

用Postman測試一下:

技術分享圖片

經過測試我們的API是沒有問題的。

添加一個xUnit測試項目

技術分享圖片

添加一個Nuget Microsoft.AspNetCore.TestHost包:

技術分享圖片

給測試項目添加webapi項目的引用:

技術分享圖片

添加如下測試代碼:

private readonly HttpClient _client;
public UnitTest1()
{
    var builder = new WebHostBuilder().UseStartup<Startup>();
    var testServer = new TestServer(builder);
    _client = testServer.CreateClient();
}
[Fact]
public async Task Test1()
{
    var result = await _client.GetAsync("Values/Add?a=1&b=2");
    result.EnsureSuccessStatusCode();

    var data = await result.Content.ReadAsStringAsync();
    Assert.Equal("3", data);
}

運行一下:

技術分享圖片

可以看到,一個簡單的集成測試已經通過了。

文檔參考

官方文檔 https://docs.microsoft.com/en-us/aspnet/core/testing/integration-testing
Demo:https://github.com/stulzq/BlogDemos/tree/master/IntegrationTests

ASP.NET Core 集成測試