HELP - Problemi in TEST di Accettazione

HELP - Problemi in TEST di Accettazione

di Mariano Francesco Ciaccio -
Numero di risposte: 3

Gentilissimi, 

dopo aver installato la versione 363 di Moodle mi appare il seguente errore: 



Come posso impostare queste variabili? cosa devono contenere? 

 HELP ME

Media dei voti:  -
In riposta a Mariano Francesco Ciaccio

Re: HELP - Problemi in TEST di Accettazione

di Matteo Scaramuccia -

Ciao Mariano,
hai seguito la wiki? Quale? Quali passi hai fatto?

Supposto che tu abbia configurato correttamente il file config.php sembra che tu non abbia lanciato l'inizializzazione dell'ambiente per questi test, tramite linea di comando cioè php admin/tool/behat/cli/init.php: questo script provvede a preparare l'ambiente dal punto di vista software, via Composer, e poi ad inizializzare una istanza di DB e di MoodleData dedicate a questi test.

HTH,
Matteo

In riposta a Matteo Scaramuccia

Re: Re: HELP - Problemi in TEST di Accettazione

di Mariano Francesco Ciaccio -
Gentilissimo per il supporto 😀

In realtà quel comando è stato già eseguito:

phpunit/php-code-coverage suggests installing ext-xdebug (^2.6.0)
phpunit/phpunit suggests installing ext-xdebug (*)
phpunit/phpunit suggests installing phpunit/php-invoker (^2.0)
Package phpunit/dbunit is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
Error: $CFG->behat_dataroot,
$CFG->behat_prefix and $CFG->behat_wwwroot devono essere impostate in config.php.

Come si impostano queste variabili? E cosa dovrebbero contenere l?
In riposta a Mariano Francesco Ciaccio

Re: Re: Re: HELP - Problemi in TEST di Accettazione

di Matteo Scaramuccia -

Ciao Mariano,
devi configurare quei parametri per "virtualizzare" una nuova istanza di Moodle: infatti il comando di inizializzazione, oltre a preparare via composer tutta la parte software crea anche un database parallelo su cui registrare tutte le informazioni generate durante questa fase di test, senza cioè sporcare il DB "ufficiale".

Quindi come in una installazione normale di Moodle c'è bisogno di specificare una configurazione del web server (URL), un posto dove registrate tutti i dati (file) gestiti in Moodle (cioè la MoodleData) e come poter creare le tabelle a supporto della gestione dei dati logici (le tabelle sul DB).
Un esempio, leggendo i riferimenti di cui in https://docs.moodle.org/dev/Running_acceptance_test#3._Set_up_Moodle in particolare https://github.com/moodle/moodle/blob/86c3df962f66f1172adb9932c1de734f5e01e323/config-dist.php#L738 , potrebbe essere:

$CFG->behat_wwwroot = 'http://127.0.0.1/moodle'; // Qui devi scrivere come accedi alla tua istanza Moodle "normale" via web
$CFG->behat_prefix = 'bht_'; // Questo significa che la inizializzazione di Behat provvedere a creare una copia di DB per Moodle vuota usando questo prefisso per tutte le tabelle ad uso e consumo dei test di accettazione
$CFG->behat_dataroot = '/home/example/bht_moodledata'; // Qui devi mettere un percorso valido come permessi di scrittura e cancellazione affinché Moodle possa interagire con essa durante i test di accettazione
$CFG->behat_profiles = array( ... );
$CFG->behat_faildump_path = '/var/www/behatfaildumps'; // Dove salvare gli screenshot dei test falliti. ATTENZIONE: non dovrebbe essere una cartella esposta al web se stai usando un server esposto via Internet (non dovresti testare su server pubblici!)

I parametri possibili sono molti altri (come da documentazione), in particolare sopra manca ancora quale sia il browser da usare, perché dipendono dalla configurazione del driver Selenium e appunto dal browser che vuoi usare.

Non ci hai raccontato le ragioni per cui vorresti usare questi test di accettazione: se è per ragioni di sviluppo può essere più rapido usare il Docker Toolkit di Moodle perché ti configura tutto lui "magicamente" compresi tutti i requisiti di contorno come Selenium: devi solo passargli dove si trova il codice di Moodle da testare: https://github.com/moodlehq/moodle-docker#use-containers-for-running-behat-tests . Utilizzando https://github.com/moodlehq/moodle-docker#using-vnc-to-view-behat-tests puoi anche vederli eseguire anche se un pochino più lentamente di quanto possibile nativamente sul PC (ma è tutto drammaticamente più comodo da usare).

HTH,
Matteo