zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    10.异常
    9.1 oop习题集合
    9.抽象类和接口
    8.oop-多态
    AngularJs学习笔记二
    浅谈如何坚持计划
    妙味课堂——JavaScript基础课程笔记
    前端学习-试卷
    jquery实战
    boost any
  • 原文地址:https://www.cnblogs.com/stulzq/p/8679282.html
Copyright © 2011-2022 走看看