文章出處

回到目錄

之前寫了關于自動化測試的相關文章,包括gitlab,unittest,jenkins pipeline等,基于都是功能點的測試,當我們的框架或者業務修改之后,需要走一篇自動化測試,以此來保證我們的修改過的功能是正確的,而今天主要說一下流程測試,從api網站的入口,從一個請求開始到結束這個過程,我們可以通過TestHost來完成!

一個完整的流程化測試需要經過以下幾個步驟:

  1. 建立xunit項目
  2. 引用需要測試的api項目
  3. 添加WebFixture攔截器,注意其中的startup是指api項目的,建立測試使用的TestServer和HttpClient
  4. 在xunit里使用HttpClient即可

一 建立xunit項目

二 引用需要測試的api項目

三 添加WebFixture攔截器,注意其中的startup是指api項目的,建立測試使用的TestServer和HttpClient

    /// <summary>
    /// Web攔截器
    /// </summary>
    public class WebFixture
    {
        public TestServer Server;
        public HttpClient Client;
        public WebFixture()
        {
            var hostBuilder = new WebHostBuilder();
            var Server = new TestServer(hostBuilder.UseStartup<Lind.DotNetCore.RepositoryTest.Startup>());
            this.Client = Server.CreateClient();
        }

    }

四 在xunit里使用HttpClient即可

       [Fact]
        public void TestLindDotNetCoreRepositoryTest()
        {
            var msg = _webFixture.Client.GetAsync("/dapper")
                 .Result
                 .Content
                 .ReadAsStringAsync()
                 .Result;

            Assert.NotNull(msg);
        }

這樣,一個流程化測試的例子就完成了,還是比較簡單的!

關鍵在于找到這種測試的方法!

回到目錄


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()