前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ASP.NET Core 集成测试

ASP.NET Core 集成测试

作者头像
晓晨
发布2018-06-22 16:05:56
8670
发布2018-06-22 16:05:56
举报
文章被收录于专栏:晓晨的专栏

集成测试

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

摘自百度百科

ASP.NET Core 集成测试

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

修改一下自带的ValuesController

代码语言:javascript
复制
public class ValuesController : Controller
{
    public int Add([FromQuery]int a,[FromQuery] int b)
    {
        return a + b;
    }
}

用Postman测试一下:

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

添加一个xUnit测试项目

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

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

添加如下测试代码:

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-03-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 集成测试
  • ASP.NET Core 集成测试
    • 添加一个xUnit测试项目
      • 文档参考
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档