您好,登錄后才能下訂單哦!
這篇文章主要介紹“在PhpStorm中通過PHPUnit進行單元測試的簡單示例”,在日常操作中,相信很多人在在PhpStorm中通過PHPUnit進行單元測試的簡單示例問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”在PhpStorm中通過PHPUnit進行單元測試的簡單示例”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Laravel 自帶的測試演示類位于項目根目錄下的 tests
子目錄中。在 PhpStorm 中,該目錄會被自動標記為綠色,表示是測試目錄:
在 PhpStorm 中基于 PHPUnit 進行單元測試很簡單,PhpStorm 已經內置了通過本地 PHPUnit 運行測試用例的支持(Laravel 項目初始化的時候已經安裝了 phpunit
依賴,PhpStorm 會基于這個 phpunit
對項目進行單元測試),無需額外配置,只需要選中待測試目錄、文件、方法,然后在右鍵下拉菜單選擇 Run Test 即可(前提是先要編寫好對應的測試用例代碼):
測試結果會顯示在 PhpStorm 下方的 Run 窗口中:
如果你的 PhpStorm 版本較老,不能自動識別 PHPUnit 并創建對應的測試框架配置,可以在 Preferences | Languages & Frameworks | PHP | Test Frameworks 界面(Windows 系統請將 Preferences 替換成 Settings)手動創建,創建的時候選擇 PHPUnit Local,然后再:
腳本路徑映射到當前項目根目錄下的 vendor/autoload.php
,配置文件映射到當前項目根目錄下的 phpunit.xml
。
如果你想要使用其他測試框架(Behat、PHPSpec、Codeception等),也是在這里創建對應的測試框架配置:
要對指定文件進行測試,還可以在打開該文件的代碼編輯區域任意位置右鍵,選擇運行該文件的測試代碼:
或者在聲明該測試類所在行的左側點擊綠色的運行測試圖標進行測試:
對于指定方法的測試也可以這么做:
測試成功,運行結果是綠色提示,測試失敗,則是紅色提示:
并且會標識出錯的原因和位置,方便排查。
在上面運行測試用例的時候,細心的同學可能已經看到在下拉菜單中除了運行測試的選項外,還有一個包含覆蓋率的測試選項:
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 右側區域會彈出包含本次測試代碼覆蓋率分析的窗口:
點擊 app
目錄進去,可以看到所有子目錄的代碼覆蓋率情況:
另外,我們點擊左側 Project 區域,展開項目目錄結構樹,也可以看到測試代碼覆蓋率:
而在代碼編輯區,可以看到被覆蓋的代碼左側有綠色長條,未被覆蓋到的代碼左側是紅色長條。
到此,關于“在PhpStorm中通過PHPUnit進行單元測試的簡單示例”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。