簡體   English   中英

PHP 單元測試覆蓋率

[英]PHP Unit Testing Coverage

我是 PHP 開發新手,但有開發 Python Web 應用程序的經驗。 在 Python 中,有一個名為Coverage的包,用於分析代碼並識別缺少單元測試的功能。

PHP 世界中是否存在這樣的包? 我已經搜索了谷歌和 SO 並得出了簡短的結論。 感謝您的幫助!

PHPUnit 內置了覆蓋率。您可以使用以下命令生成 html 覆蓋率報告

phpunit --coverage-html /[path where to save report]

另一種選擇是--coverage-clover而不是--coverage-html 這將生成關於所涵蓋內容的 xml 報告。

如果您使用像 phpStorm 這樣的高級 IDE,您只需右鍵單擊測試並選擇“Run with coverage”,它將在編輯器的文件資源管理器中顯示覆蓋率。

PHPUnit 支持代碼覆蓋並且是事實上的標准。 與 Jenkins 等人集成。

https://phpunit.de/manual/current/en/code-coverage-analysis.html

是 有許多代碼覆蓋工具。 將以下鏈接添加到您的 phpunit.xml

<logging>
    <log type="coverage-html" target="./mainreport" charset="UTF-8"
         yui="true" highlight="true"
         lowUpperBound="50" highLowerBound="80" />
</logging>

安裝 XDEBUG , (ex: for ubuntu and php7 - sudo apt-get install php7.0-xdebug)

這會將您的報告記錄到目標屬性中指定的目錄 (target="./mainreport")。 報告也將采用 html 格式

在您的根目錄中創建一個mainreport目錄。 運行單元測試在瀏覽器中打開 index.html,您可以看到覆蓋率報告。

PHPUnit 本身具有使用PHP_CodeCoverage的覆蓋工具

此頁面顯示所有不同的覆蓋選項: https : //phpunit.de/manual/current/en/textui.h​​tml

一個示例 html 輸出覆蓋命令行是:

phpunit ./report tests/*

這將創建一個名為 report 的文件夾,並包含測試/文件夾下所有測試的所有覆蓋范圍

您還可以通過使用 json 文件檢查項目模塊 Wise 中有多少案例通過或失敗來生成案例報告。

將此代碼添加到您的 phpnit.xml 文件中:

<log type="json" target="./log/jsonreport.json" charset="UTF-8"/>

運行后,生成的文件( jsonreport.json )已通過案例列表應該存在。

暫無
暫無

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

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