Innerhalb des Moodle-Verzeichnisses kann dann das Plugin mit dem zu testenden Feature eingebundenwerden, bspw. als Submodule.
run.sh erstellen
Anschließend muss eine Datei run.sh erstellt werden.
Die Datei run.sh sollte im Verzeichnis "moodle-docker" liegen.
run.sh
1 # Set up path to Moodle code
2 export MOODLE_DOCKER_WWWROOT="./moodle-401"
3 # Choose a db server (Currently supported: pgsql, mariadb, mysql, mssql, oracle)
4 export MOODLE_DOCKER_DB=pgsql
5
6 # Ensure customized config.php for the Docker containers is in place
7 cp config.docker-template.php $MOODLE_DOCKER_WWWROOT/config.php
8
9 # Start up containers
10 bin/moodle-docker-compose up -d
11
12 # Wait for DB to come up (important for oracle/mssql)
13 bin/moodle-docker-wait-for-db
14
15 # Work with the containers (see below)
16 # Initialize behat environment
17 bin/moodle-docker-compose exec webserver php admin/tool/behat/cli/init.php
18
19 # Run behat tests
20 bin/moodle-docker-compose exec -u www-data webserver php admin/tool/behat/cli/run.php --tags="@plugin_feature_tag" --format=pretty --out=std
21
22 # Shut down and destroy containers
23 bin/moodle-docker-compose down
24
Die Variable MOODLE_DOCKER_WWWROOT muss dabei auf das Verzeichnis zeigen, in dem Moodle liegt.
In Zeile 20 müssen die Tags für den jeweiligen Test eingesetzt werden.
Die
letzte Zeile kann auskommentiert werden. Dadurch bleibt der Container
auch nach dem Ausführen der Tests bestehen. Beim erneuten Testen muss so
nicht erneut eine komplette Moodle-Instanz aufgebaut werden.