テスト
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の4つのワークフローによって自動的にチェックされます:
phpunit.yml
PHPUnitテストスイート
format_code.yml
ECSによるコードスタイルチェック
php_analysis.yml
Psalm、Doctrineスキーマ検証、セキュリティチェッカー
behat.yml
Behatによるエンドツーエンドテスト
最終更新
役に立ちましたか?