文章出處

在CI/CD流行至極的今天,你的項目沒有自動化測試絕對是不可以接受的,在進行自動化部署和持續集成時,我們的dotnet core項目也是可以實現自動化的,之前說過gitlab,jenkins對持續集成的影響,而今天說一下微觀點的概念,“單元測試”,這個早已不是什么新東西了,像dotnet平臺也有自己的測試工具,不過在進入core平臺之后,大叔還是推薦大家使用xunit工具,這個工具可以幫助我們升級測試報告,以XML文件存在!

1 相關nuget包

可以通過查看項目的csproj文件獲得代碼

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <IsPackable>false</IsPackable>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0-preview-20170628-02" />
    <PackageReference Include="xunit" Version="2.3.1" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
    <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
  </ItemGroup>
</Project>

2 windows/linux平臺自動化測試命令

dotnet restore  && dotnet xunit -xml test.xml

注意如果你的nuget包里,包括了私有倉庫包,需要在nuget.config里添加包的引用地址,否則咱們的nuget包只會從官方進行下載

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nugetlocal" value="http://111.111.111.111:9090/nuget" />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <bindingRedirects>
    <add key="skip" value="False" />
  </bindingRedirects>
  <packageManagement>
    <add key="format" value="0" />
    <add key="disabled" value="False" />
  </packageManagement>
</configuration>

3 查看xml的測試報告

4 和gitlab的pipeline進行結合

事實上,我們的xunit也可以和gitlab的管道結合在一起使用,當你的代碼遷入后,自動進行測試并生成報告!

 

相關gitlab-ci的介紹,我們看大叔這篇文件!《Git~GitLab當它是一個CI工具時
感謝各位的閱讀!

 


文章列表




Avast logo

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


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

IT工程師數位筆記本

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