2015-10-07 99 views
10

在現代編程工作流程中,一次使用多個測試框架。例如,在PHP世界中,一次使用單元測試,集成測試和功能/驗收測試是事實上的標準方法。大多數情況下,不同的框架用於不同的測試類型。我將PHPSpec用於單元,PHPunit用於集成,CodeCeption用於功能測試。來自不同測試框架的彙總代碼覆蓋率

是否有可能彙總每個框架返回的代碼覆蓋率結果?是否有任何工具可彙總來自不同框架的代碼覆蓋率報告? 或者僅當每個框架不正確時纔可以查看單個結果,因爲每個代碼覆蓋率報告都沒有考慮到其他測試。

回答

-1

我想我們是在同一條船上。我們如何判斷我們使用這種全新的測試工具進行融合。我們開始與團隊討論,並決定去尋求

SonarSource。 - 對於PHP插件和現場演示

PHP報告Stlyle - 我建議您訪問現場演示。它會幫助更多。

enter image description here

這是非常強大的工具。它給我們所有的代碼。

+0

你的答案看起來像一個廣告現在。你能否提供更多信息它是如何回答這個問題的?你的屏幕截圖全是Java,請告訴我們更多它可以爲PHP做些什麼。 – Naktibalda

+0

回答你剛剛打開的鏈接,我在這篇文章中添加或轉到此鏈接:http://nemo.sonarqube.org/(DEMO)當你點擊PHP時,它會顯示所有組件的覆蓋範圍。 Sonar Source是爲所有技術設計的。 –

3

執行此任務其實很簡單。所有的框架都依賴於相同的庫來生成代碼覆蓋率。

正如您所看到的,sebastianbergmann/php-code-coverage中的生成器已經支持合併函數(第335行)來合併不同的聚合。由於您是使用測試的團隊的一員,因此我認爲您可以輕鬆更改測試執行層以便在單個php進程中收集代碼覆蓋範圍,並將它們合併。

-1

PHP Test Coverage Tool從語義設計(我公司)收集和分析來自任何

  • 框架
  • 測試設置
  • 單獨測試
  • 甚至特設手動測試相結合的測試覆蓋率。

運行一些測試集後,我們的工具可以很容易地被觸發以將測試覆蓋矢量轉儲到文件;你需要稍微修改框架調用

TCVDump(); 

框架完成後,或者您也可以通過觸摸被測試覆蓋工具添加了一個容易被發現,專題網頁調用TCVDDump()。每一個這樣的呼叫產生一個時間標記或用戶命名的文件(例如,框架或測試集之後),所以它們很容易分辨

包括作爲工具的一部分的圖形測試覆蓋顯示將交互地選擇和合並小或大的這樣的文件集產生一個連貫的整體,既顯示和總結。它還會比較測試覆蓋矢量,以確定一個測試集的覆蓋範圍是否包含/與另一個測試集相交等。 測試覆蓋率顯示組件還將導出覆蓋率結果的文本或XML/HTML摘要。

,你甚至可以運行在不同的子系統測試,並結合他們。此測試覆蓋工具是除PHP以外的許多語言的大型工具系列的一部分;在多語言應用系統上運行的測試也可以結合使用,以提供多語言應用的覆蓋範圍概覽。

1

有這個工具:phpcov。它允許合併許多覆蓋文件合併選項:

$ parallel --gnu :::             \ 
'phpunit --coverage-php /tmp/coverage/FooTest.cov tests/FooTest' \ 
'phpunit --coverage-php /tmp/coverage/BarTest.cov tests/BarTest' 

$ phpcov merge /tmp/coverage --clover /tmp/clover.xml 
phpcov 2.0.0 by Sebastian Bergmann. 

Generating code coverage report in Clover XML format ... done