集成测试
集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。
实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。一些局部反映不出来的问题,在全局上很可能暴露出来。
摘自百度百科
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
原文:http://www.cnblogs.com/stulzq/p/8679282.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com