Pengujian
Pengujian di PHP
Chamilo menggunakan PHPUnit untuk pengujian backend.
Konfigurasi Basis Data Pengujian
Pengujian memerlukan basis data khusus. Buat file .env.test.local dengan kredensial basis data pengujian Anda:
DATABASE_HOST='127.0.0.1'
DATABASE_PORT='3306'
DATABASE_NAME='chamilo_test'
DATABASE_USER='root'
DATABASE_PASSWORD='root'Kemudian, inisialisasi basis data pengujian:
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-interactionUntuk mengatur ulang setelah perubahan pada skema:
php bin/console --env=test doctrine:schema:update --force --completeMenjalankan Pengujian
Lokasi Pengujian
Pengujian berada di direktori tests/:
Jenis Pengujian
Pengujian Unit/Integrasi — Pengujian dengan PHPUnit di
CoreBundle/danCourseBundle/; sebagian besar mengakses basis data nyata (melaluidama/doctrine-test-bundle)Pengujian Fungsional (API) — Memperluas
AbstractApiTestdan menguji endpoint HTTP secara ujung ke ujungPengujian Behat — Pengujian penerimaan pada tingkat peramban di
tests/behat/features/(lihat di bawah)
Pengujian Behat (Ujung ke Ujung)
Chamilo memiliki serangkaian pengujian Behat untuk pengujian penerimaan pada tingkat peramban. Anda perlu memiliki instance Chamilo yang berjalan, serta Chrome dan ChromeDriver.
Konfigurasikan URL dasar di tests/behat/behat.yml sebelum menjalankan.
Pemeriksaan Frontend
Kualitas Kode PHP
Chamilo menggunakan ECS (Easy Coding Standard), PHPStan, dan Psalm untuk kualitas kode. Pintasan Composer tersedia untuk masing-masing:
Catatan: tidak ada php-cs-fixer di proyek ini. ECS (symplify/easy-coding-standard) adalah alat gaya kode yang digunakan.
Integrasi Berkelanjutan
Pull request diperiksa secara otomatis oleh empat alur kerja GitHub Actions:
phpunit.yml
Kumpulan pengujian PHPUnit
format_code.yml
Pemeriksaan gaya kode dengan ECS
php_analysis.yml
Psalm, validasi skema Doctrine, pemeriksa keamanan
behat.yml
Pengujian ujung ke ujung dengan Behat
Terakhir diperbarui
Apakah ini membantu?