簡體   English   中英

使用TFS 2015運行Jest單元測試

[英]Run Jest unit test with TFS 2015

有沒有人試圖將開玩笑單元測試與TFS 2015集成? 我試圖使用Chutzpah測試適配器( https://visualstudiogallery.msdn.microsoft.com/f8741f04-bae4-4900-81c7-7c9bfb9ed1fe?SRC=VSIDE )但是它無法識別開玩笑。 我收到以下錯誤: 無法找到變量Jest

當我通過“npm test”運行單元測試時,我得到了結果。 但是為了與TFS 2015集成,我需要一個可以運行Jest單元測試的測試運行器,以便我可以與TFS 2015提供的vstest.console.exe一起運行單元測試,以便它可以管理構建結果​​並在構建中發布結果總結報告。

任何幫助,將不勝感激!!

任何可以使用以下命令運行測試的測試運行器都應該工作(考慮安裝在系統上的VS 2015):“C:\\ Program Files(x86)\\ Microsoft Visual Studio 14.0 \\ Common7 \\ IDE \\ CommonExtensions \\ Microsoft \\ TestWindow \\ vstest.console .exe“”\\ test.js“/ UseVsixExtensions:true

根據Merlin的回答 ,這里是我如何實現發布jest測試結果和代碼覆蓋到TFS2015 vNext構建(我正在使用create-react-app樣板):

首先在運行代理的服務器上安裝所需的軟件包:

npm install -g jest-json-to-tap

npm install -g tap-xunit

  1. 配置jest輸出json,通過將package.json中的“test”任務更改為:“test”:“react-scripts test --env = jsdom --json”,

  2. 在package.json中配置jest選項:“jest”:{“coverageReporters”:[“cobertura”]}

  3. 創建了一個帶有以下任務的vNext構建(TFS2015v4):

一個。 “npm”任務,命令=運行,參數=測試 - --coverage | jest-json-to-tap | tap-xunit> TEST-result.xml

“發布測試結果”任務,格式= JUnit

C。 “公共代碼覆蓋率結果”任務,代碼覆蓋率工具= Cobertura,摘要文件= $(Build.Repository.LocalPath)\\ coverage \\ cobertura-coverage.xml

  1. 確保你的構建的“變量”包括設置環境變量“CI”=“true”

注意: - 測試結果不包括時間和組件 - 未來可以延伸的東西......

瞧'! 運行此構建將正確發布測試結果和代碼覆蓋率統計信息,以及報告工件。

我不確定開玩笑,但是有一個簡潔的npm包可以將基於TAP的結果轉換為xUnit XMLformat,然后你可以將它發布到TFS。

看看tap-xunit吧

我有一個構建環境,其中javascript測試由各種工具和框架(AVA,Mocha,Jasmine等)完成。 我們決定將它們全部導出為TAP格式,運行它們拋出tap-xunit然后發布到TFS。

基本上,你需要這樣的東西:

npm test | tap-xunit > results.xml

您將結果傳遞給tap-xunit並將其保存為XML。 這為您提供了格式為xUnit的XML,您可以將其發布到TFS。 如果您正在運行TFS 2015,我強烈建議您使用vNext版本,這樣可以更輕松地運行這些版本。 檢查“發布測試結果”構建步驟。

如果您正在使用XAML構建運行,此鏈接將幫助您: 使用Chutzpah對Team Foundation Service進行Javascript單元測試

如果您使用的是vNext版本,請嘗試在此博客中使用Jasmine.JS測試(也是一種JavaScript測試)中提到的詳細步驟。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM