測試
PHP 測試
Chamilo 使用 PHPUnit 進行後端測試。
測試資料庫設定
測試需要專用的資料庫。建立 .env.test.local 檔案,並填入您的測試資料庫認證資訊:
DATABASE_HOST='127.0.0.1'
DATABASE_PORT='3306'
DATABASE_NAME='chamilo_test'
DATABASE_USER='root'
DATABASE_PASSWORD='root'然後初始化測試資料庫:
php bin/console --env=test cache:clear
php bin/console --env=test doctrine:database:create
php bin/console --env=test doctrine:schema:create
php bin/console --env=test doctrine:fixtures:load --no-interaction在結構描述變更後重置:
php bin/console --env=test doctrine:schema:update --force --complete執行測試
測試位置
測試位於 tests/ 目錄中:
測試類型
單元/整合測試 —
CoreBundle/和CourseBundle/中的 PHPUnit 測試;大多數會連接到真實資料庫(透過dama/doctrine-test-bundle)功能(API)測試 — 繼承
AbstractApiTest並端到端測試 HTTP 端點Behat 測試 —
tests/behat/features/中的瀏覽器層級驗收測試(見下文)
Behat(端到端)測試
Chamilo 擁有 Behat 測試套件,用於瀏覽器層級的驗收測試。它需要執行中的 Chamilo 實例、Chrome 以及 ChromeDriver。
執行前,請在 tests/behat/behat.yml 中設定基底 URL。
前端檢查
PHP 程式碼品質
Chamilo 使用 ECS(Easy Coding Standard)、PHPStan 和 Psalm 來確保程式碼品質。每個工具皆有 Composer 快捷指令:
注意:本專案不使用 php-cs-fixer。ECS(symplify/easy-coding-standard)即為程式碼風格工具。
持續整合
拉取請求會由四個 GitHub Actions 工作流程自動檢查:
Workflow
What it runs
phpunit.yml
PHPUnit 測試套件
format_code.yml
ECS 程式碼風格檢查
php_analysis.yml
Psalm、Doctrine 結構描述驗證、安全檢查器
behat.yml
Behat 端到端測試
最後更新於
這有幫助嗎?