Testing

Δοκιμές PHP

Το Chamilo χρησιμοποιεί το PHPUnit για δοκιμές backend.

Ρύθμιση Βάσης Δεδομένων Δοκιμών

Οι δοκιμές απαιτούν μια ειδική βάση δεδομένων. Δημιουργήστε το .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/:

Τύποι Δοκιμών

  • Δοκιμές μονάδας/ενσωμάτωσης — Δοκιμές PHPUnit στο CoreBundle/ και CourseBundle/· οι περισσότερες αλληλεπιδρούν με πραγματική βάση δεδομένων (μέσω dama/doctrine-test-bundle)

  • Λειτουργικές (API) δοκιμές — Επεκτείνουν το AbstractApiTest και δοκιμάζουν endpoints HTTP end-to-end

  • Δοκιμές Behat — Δοκιμές αποδοχής επιπέδου προγράμματος περιήγησης στο tests/behat/features/ (δείτε παρακάτω)

Δοκιμές Behat (End-to-End)

Το Chamilo διαθέτει σουίτα δοκιμών Behat για δοκιμές αποδοχής επιπέδου προγράμματος περιήγησης. Απαιτεί μια εκτελόμενη εγκατάσταση Chamilo, Chrome και ChromeDriver.

Ρυθμίστε τη βασική διεύθυνση URL στο tests/behat/behat.yml πριν την εκτέλεση.

Ελέγχοι Frontend

Ποιότητα Κώδικα PHP

Το Chamilo χρησιμοποιεί ECS (Easy Coding Standard), PHPStan και Psalm για ποιότητα κώδικα. Υπάρχουν διαθέσιμα συντομεύματα Composer για κάθε εργαλείο:

Σημείωση: δεν υπάρχει php-cs-fixer σε αυτό το έργο. Το ECS (symplify/easy-coding-standard) είναι το εργαλείο στυλ κώδικα.

Συνεχής Ενσωμάτωση

Οι αιτήσεις έλξης ελέγχονται αυτόματα από τέσσερις ροές εργασιών GitHub Actions:

Ροή εργασιών
Τι εκτελεί

phpunit.yml

Σουίτα δοκιμών PHPUnit

format_code.yml

Έλεγχος στυλ κώδικα ECS

php_analysis.yml

Psalm, επικύρωση σχήματος Doctrine, ελεγκτής ασφαλείας

behat.yml

Δοκιμές Behat end-to-end

Τελευταία ενημέρωση

Ήταν χρήσιμο αυτό;