中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在PhpStorm中通過PHPUnit進行單元測試的簡單示例

發布時間:2021-09-13 18:09:37 來源:億速云 閱讀:145 作者:chen 欄目:大數據

這篇文章主要介紹“在PhpStorm中通過PHPUnit進行單元測試的簡單示例”,在日常操作中,相信很多人在在PhpStorm中通過PHPUnit進行單元測試的簡單示例問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”在PhpStorm中通過PHPUnit進行單元測試的簡單示例”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

對指定目錄、類、方法運行測試

Laravel 自帶的測試演示類位于項目根目錄下的 tests 子目錄中。在 PhpStorm 中,該目錄會被自動標記為綠色,表示是測試目錄:

在PhpStorm中通過PHPUnit進行單元測試的簡單示例  

在 PhpStorm 中基于 PHPUnit 進行單元測試很簡單,PhpStorm 已經內置了通過本地 PHPUnit 運行測試用例的支持(Laravel 項目初始化的時候已經安裝了 phpunit 依賴,PhpStorm 會基于這個 phpunit 對項目進行單元測試),無需額外配置,只需要選中待測試目錄、文件、方法,然后在右鍵下拉菜單選擇 Run Test 即可(前提是先要編寫好對應的測試用例代碼):

在PhpStorm中通過PHPUnit進行單元測試的簡單示例  

測試結果會顯示在 PhpStorm 下方的 Run 窗口中:

在PhpStorm中通過PHPUnit進行單元測試的簡單示例  

如果你的 PhpStorm 版本較老,不能自動識別 PHPUnit 并創建對應的測試框架配置,可以在 Preferences | Languages & Frameworks | PHP | Test Frameworks 界面(Windows 系統請將 Preferences 替換成 Settings)手動創建,創建的時候選擇 PHPUnit Local,然后再:

在PhpStorm中通過PHPUnit進行單元測試的簡單示例  

腳本路徑映射到當前項目根目錄下的 vendor/autoload.php,配置文件映射到當前項目根目錄下的 phpunit.xml

如果你想要使用其他測試框架(Behat、PHPSpec、Codeception等),也是在這里創建對應的測試框架配置:

在PhpStorm中通過PHPUnit進行單元測試的簡單示例  

要對指定文件進行測試,還可以在打開該文件的代碼編輯區域任意位置右鍵,選擇運行該文件的測試代碼:

在PhpStorm中通過PHPUnit進行單元測試的簡單示例  

或者在聲明該測試類所在行的左側點擊綠色的運行測試圖標進行測試:

在PhpStorm中通過PHPUnit進行單元測試的簡單示例  

對于指定方法的測試也可以這么做:

在PhpStorm中通過PHPUnit進行單元測試的簡單示例  

測試成功,運行結果是綠色提示,測試失敗,則是紅色提示:

在PhpStorm中通過PHPUnit進行單元測試的簡單示例  

并且會標識出錯的原因和位置,方便排查。

 

PHPUnit 代碼覆蓋率分析

在上面運行測試用例的時候,細心的同學可能已經看到在下拉菜單中除了運行測試的選項外,還有一個包含覆蓋率的測試選項:

在PhpStorm中通過PHPUnit進行單元測試的簡單示例  

PHPUnit 的代碼覆蓋率分析使用了 PHP_CodeCoverage 這個組件,而這個組件又使用了 PHP Xdebug 擴展所提供的代碼覆蓋率功能,所以要使用代碼覆蓋率功能,需要先安裝 Xdebug 擴展,如果系統沒有安裝該擴展,可以參考前面安裝配置 Xdebug 擴展的教程進行安裝和設置。

為了告訴 PHPUnit 哪些源代碼文件要包含在代碼覆蓋率報告中,必須配置白名單。Laravel 自帶的 phpunit.xml(位于項目根目錄下)中已經包含了這個配置:

<filter>
    <whitelist processUncoveredFilesFromWhitelist="true">
        <directory suffix=".php">./app</directory>
    </whitelist>
</filter>
 

上述配置表明 app 目錄下的所有后綴為 .php 的 PHP 代碼都會包含到代碼覆蓋率報告中,即使某些文件沒有被測試用例覆蓋到,同時還可以知道未被覆蓋文件中有哪些行是可執行的,另外,你還可以配置跳過哪些代碼塊,更多設置細節請參考 PHPUnit 官方文檔。

我們在 tests 目錄上運行包含代碼覆蓋率的測試,運行完成后,PhpStorm 右側區域會彈出包含本次測試代碼覆蓋率分析的窗口:

在PhpStorm中通過PHPUnit進行單元測試的簡單示例  

點擊 app 目錄進去,可以看到所有子目錄的代碼覆蓋率情況:

在PhpStorm中通過PHPUnit進行單元測試的簡單示例  

另外,我們點擊左側 Project 區域,展開項目目錄結構樹,也可以看到測試代碼覆蓋率:

在PhpStorm中通過PHPUnit進行單元測試的簡單示例  

而在代碼編輯區,可以看到被覆蓋的代碼左側有綠色長條,未被覆蓋到的代碼左側是紅色長條。

 

到此,關于“在PhpStorm中通過PHPUnit進行單元測試的簡單示例”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

信宜市| 兴隆县| 穆棱市| 南城县| 嘉鱼县| 铅山县| 平陆县| 西盟| 秭归县| 汾阳市| 来宾市| 五家渠市| 汕尾市| 若羌县| 鄂托克旗| 三亚市| 巴林左旗| 昌乐县| 富宁县| 砚山县| 同心县| 江川县| 子洲县| 沾益县| 栾川县| 金华市| 临夏市| 白玉县| 广昌县| 霍城县| 铜陵市| 桃园市| 石狮市| 铜川市| 泗水县| 米脂县| 农安县| 安陆市| 无极县| 长垣县| 南澳县|