ASP.NET Core 集成测试

集成测试

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

摘自百度百科

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

接口自动化测试框架(一)

接口测试工具的不足点: 测试数据不可控制 无法测试加密接口 扩展能力不足 Ps:对上述问题,Robot Framework都能满足,但是其脚本的可读性差是它最大...

3676
来自专栏SDNLAB

ONOS编程系列(四)Provider开发

在学习本篇文章的时候,笔者假设读者已经读过该系列的前几篇文章,或者对于ONOS整个项目的架构有一定的了解,并且电脑上已经有onos-1.1的源程序,能熟练使用O...

3165
来自专栏Java技术分享

第二章:Shiro入门——深入浅出学Shiro细粒度权限开发框架

Shiro是什么   Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能  Shiro能做什么   认证:验证用户...

1928
来自专栏从零开始学自动化测试

Selenium2+python自动化55-unittest之装饰器(@classmethod)

前言 前面讲到unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,比如打开浏览器操作,每次执行用例时候都会重新打开,这...

2617
来自专栏信安之路

爬虫基础篇[Web 漏洞扫描器]

Web 漏扫的爬虫和其他的网络爬虫的技术挑战不太一样,漏扫的爬虫不仅仅需要爬取网页内容、分析链接信息, 还需要尽可能多的触发网页上的各种事件,以便获取更多的有效...

760
来自专栏大数据

Scrapy递归抓取简书用户信息

好久没有录制实战教程视频,大邓就在圣诞节后直接上干货。 之前写过一期【视频教程-用python批量抓取简书用户信息】的文章,是自己造的轮子,今天我趁着刚入门sc...

2397
来自专栏SpringBoot 核心技术

第四十七章:SpringBoot2.0新特性 - Quartz自动化配置集成本章目标SpringBoot 企业级核心技术学习专题构建项目测试总结

3333
来自专栏Hadoop实操

如何使用Java代码访问HDFS.docx

在开发Hadoop应用时,需要用到hadoop-client API来访问HDFS并进行本地调试。本篇文章则主要讲述如何使用Java代码访问Kerberos和非...

5057
来自专栏张善友的专栏

使用Combres 库 ASP.NET 网站优化

网站优化理论方面可以看杨正祎同学的文章如何提高网页的效率(上篇)——提高网页效率的14条准则,如何提高网页的效率(下篇)——Use YSlow to know ...

1769
来自专栏纯洁的微笑

Spring Boot 2.0 版的开源项目云收藏来了!

713

扫码关注云+社区