For the complete documentation index, see llms.txt. This page is also available as Markdown.

測試

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)、PHPStanPsalm 來確保程式碼品質。每個工具皆有 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 端到端測試

最後更新於

這有幫助嗎?