Puncte:1

Cum se construiește baza de date de testare de bază?

drapel us

Cincisprezece ani scriind cod Drupal și totuși nu am scris niciodată teste unitare. Am postat recent câteva corecții de bază care necesită să fie scrise teste pentru ei - așa că este momentul să înveți cum să scrii teste PHPUnit.

Am un mediu de testare configurat și pot rula cu succes teste unitare de bază. Trebuie să prelungesc aceste teste despre care văd că nu sunt foarte dificile; dar trebuie să rulez împotriva „test db”. Pot vedea modulele principale de testare Views, cum ar fi views_test_config și views_test_data, care au tot ce am nevoie - dar nu le pot activa (manual, astfel încât să pot verifica care este conținutul meu de testare).

Există vreo modalitate de a obține o copie a bazei de date de teste implicite D9, care este utilizată pentru a rula teste de bază (nucleu) împotriva? Sau, alternativ, o modalitate de a activa aceste module?

Puncte:1
drapel cn

Nu sunt sigur dacă am înțeles corect întrebarea dvs., dar nu există niciun „test db” ca atare, în afară de ceea ce creează testul dumneavoastră. Sistemul de testare de bază instalează un site Drupal minim de la zero (URL-ul bazei de date pentru aceasta poate fi setat în phpunit.xml fișier, al cărui șablon implicit este în core/phpunit.xml.dist). Acesta este independent de orice site-uri existente, folosește cel mai „simplu” profil de instalare și este creat de la zero de fiecare dată când testul rulează.

Metoda ::setUp() a testului dvs. creează apoi lucruri precum utilizatorii de testare, conținutul etc. pe acest site.

Dacă extindeți clasa KernelTestBase sau BrowserTestBase, veți vedea că există o proprietate de clasă numită $requiredModules. Dacă setați acest lucru la o serie de nume de module, acestea vor fi activate automat ca parte a procesului de configurare.

liquidcms avatar
drapel us
Da, mulțumesc, dar știu toate astea. Știu că dacă adaug modulele de testare vizualizări la #requireModules-ul meu, pot folosi aceste date de testare și configurație (care este ceea ce am nevoie) în testele mele. Dar, vreau să „mă uit” la acele date cu vizualizările de testare existente pentru a vedea ce este acolo - astfel încât să pot scrie (și depana) testele mele în consecință. Dar, am nevoie de o modalitate de a instala manual acele module pentru a vedea ce construiește pentru datele de testare/configurație. Ajută asta?
liquidcms avatar
drapel us
Deci da, am bănuit că nu există un test de bază db (deși ar fi util), așa că poate mi-am formulat greșit întrebarea? Ceea ce îmi trebuie cu adevărat este o modalitate de a activa modulele de testare de bază, cum ar fi views_test_data și views_test_config. De ce nu pot să le instalez manual?
Puncte:0
drapel us

Pentru a permite instalarea modulelor de testare, trebuie să setați acest lucru în $settings.php:

$settings['extension_discovery_scan_tests'] = ADEVĂRAT;

[EDIT] - acest lucru permite vizualizarea tuturor modulelor de testare și acum le pot activa - dar datele de testare și vizualizarea încă nu sunt rulate... ughh!!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.