PHPUnit 10 正式發布,PHP 單元測試框架

開源中國osc 發佈 2024-03-11T06:03:51.014949+00:00

出品|開源中國PHPUnit 是一個輕量級的 PHP 測試框架。它是在 PHP5 下面對 JUnit3 系列版本的完整移植,是 xUnit 測試框架家族的一員 (它們都基於模式先鋒 Kent Beck 的設計)。

出品|開源中國

PHPUnit 是一個輕量級的 PHP 測試框架。它是在 PHP5 下面對 JUnit3 系列版本的完整移植,是 xUnit 測試框架家族的一員 (它們都基於模式先鋒 Kent Beck 的設計)。

PHPUnit 10 現已發布,這是 PHPUnit 項目歷史上最重要的版本。此版本之於 PHPUnit 就像 PHP 7 之於 PHP:大規模清理、重構和現代化,為未來的開發奠定了基礎。

注意:PHPUnit 10 需要 PHP 8.1 或更高版本。另請注意,PHPDBG 和 Xdebug 2 不再是受支持的代碼覆蓋信息來源,需要使用 PCOV 或 Xdebug 3 來收集、處理和報告代碼覆蓋率信息。

具體來說,PHPUnit 10 版本添加了新功能,修改和刪除了現有功能,並修復了錯誤。

以下是 PHPUnit 10 的大型更改

Event System 事件系統

以前版本的 PHPUnit 為 PHPUnit 測試運行程序的擴展開發人員提供了 TestListener 接口和 TestHook 接口。這兩種擴展 PHPUnit 測試運行器的方法都有嚴重的缺點。 PHPUnit 10 用事件系統替換了 TestListener TestHook 接口:(幾乎)現在一切都是事件。所有到控制台和日誌文件的輸出現在都基於事件。

測試結果與測試問題

PHPUnit 10 在測試結果(錯誤、失敗、不完整、跳過或通過)和測試問題(被認為有風險、觸發警告……)之間引入了明確的區分。

PHPUnit 10 的錯誤處理程序不再將 E_(USER_)WARNING E_(USER_)NOTICE E_(USER_)DEPRECATED 等轉換為異常。因此,例如,當 E_USER_NOTICE 被觸發時,測試不再被強行中止。

默認情況下,PHPUnit 的測試運行器不顯示有關棄用、通知或警告的詳細信息。如果想要顯示這些詳細信息,必須使用 CLI 選項 --display-deprecations --display-notices --display-warnings (或其對應的 XML 配置文件)。

元數據

PHPUnit 10 引入了對 PHP 8 屬性的支持,用於將元數據添加到測試類和測試方法以及測試代碼單元。

但仍然支持代碼注釋中的老式注釋,和將元數據附加到代碼單元的現代屬性。

下載方式

此 PHP 存檔 (PHAR) 包含 PHPUnit 所需的一切。

➜ wget -O phpunit https://phar.phpunit.de/phpunit-10.phar➜ chmod +x phpunit➜ ./phpunit --versionPHPUnit 10.0.0 by Sebastian Bergmann and contributors.

或者使用 Composer 下載並安裝 PHPUnit 及其依賴項。

➜ composer require --dev phpunit/phpunit ^10➜ ./vendor/bin/phpunit --versionPHPUnit 10.0.0 by Sebastian Bergmann and contributors.

關鍵字: