ASP.NET Core 集成測試
阿新 • • 發佈:2018-03-31
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 集成測試