ASP.NET Core 集成测试

集成测试

集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。
实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。一些局部反映不出来的问题,在全局上很可能暴露出来。

摘自百度百科

ASP.NET Core 集成测试

新建一个 ASP.NET Core Webapi 项目:

668104-20180330232556253-1225557456.png

修改一下自带的ValuesController

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

用Postman测试一下:

668104-20180330232609029-1262334943.png

经过测试我们的API是没有问题的。

添加一个xUnit测试项目

668104-20180330232622868-194388935.png

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

668104-20180330232649343-781097966.png

给测试项目添加webapi项目的引用:

668104-20180330232702439-528620522.png

添加如下测试代码:

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);
}

运行一下:

668104-20180330232713348-960245559.png

可以看到,一个简单的集成测试已经通过了。

文档参考

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

转载于:https://www.cnblogs.com/stulzq/p/8679282.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值