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 条评论
登录 后参与评论

相关文章

来自专栏令仔很忙

手把手教你----使用Nuget管理自己的项目库

官网上的解释:NuGet is the package manager for the Microsoft development platform in...

991
来自专栏林德熙的博客

dotnet core 添加 SublimeText 编译插件

因为 SublimeText 有很多插件都是使用 Py 写的,而我想使用 dotnet core 给 SublimeText 写一个编译插件,也就是在我使用 M...

1223
来自专栏walterlv - 吕毅的博客

将 .NET Core 项目打一个最简单的 NuGet 源码包,安装此包就像直接把源码放进项目一样

2018-06-20 01:22

722
来自专栏葡萄城控件技术团队

ASP.NET MVC 5 - 创建连接字符串(Connection String)并使用SQL Server LocalDB

您创建的MovieDBContext类负责处理连接到数据库,并将Movie对象映射到数据库记录的任务中。你可能会问一个问题,如何指定它将连接到数据库? 实际上,...

2578
来自专栏有困难要上,没有困难创造困难也要上!

Pyinstaller ERROR: Assembly amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none not found

3248
来自专栏walterlv - 吕毅的博客

使用 Postman 调试 ASP.NET Core 开发的 API

发布于 2018-09-09 12:38 更新于 2018-09...

2563
来自专栏葡萄城控件技术团队

WPF的消息机制(一)- 让应用程序动起来

前言 谈起“消息机制”这个词,我们都会想到Windows的消息机制,系统将键盘鼠标的行为包装成一个Windows Message,然后系统主动将这些Window...

1849
来自专栏冷冷

Angrok 一个内网穿透服务

网上的搭建的教程挺多,尝试搭建的时候遇到了很多问题。 准备 # 升级yum yum update # 安装gcc yum install gcc 1、GO环境安...

1685
来自专栏程序员与猫

ASP.NET Core依赖注入解读&使用Autofac替代实现

标签: 依赖注入 Autofac ASPNETCore 1. 前言 关于IoC模式(控制反转)和DI技术(依赖注入),我们已经见过很多的探讨,这里就不再赘述了。...

2808
来自专栏Ken的杂谈

ASP.NET Core 入门教程 2、使用ASP.NET Core MVC框架构建Web应用

ASP.NET Core 默认集成了DI。所有官方模块的引入都要使用DI的方式引入。

962

扫码关注云+社区