Open gitressa opened 4 months ago
Hi @gitressa to generate the HTML output, you'll need to configure the PHPUNIT environment.
I do this with a custom phpunit.xml
file in the root of my project (it's the same one I use for Drupal site projects)
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="web/core/tests/bootstrap.php" colors="true"
beStrictAboutTestsThatDoNotTestAnything="true" beStrictAboutOutputDuringTests="true"
beStrictAboutChangesToGlobalState="true" failOnWarning="true"
printerClass="\Drupal\Tests\Listeners\HtmlOutputPrinter" cacheResult="true">
<php>
<ini name="error_reporting" value="32767" />
<ini name="memory_limit" value="-1" />
<env name="SIMPLETEST_BASE_URL" value="https://web" />
<!-- <env name="SIMPLETEST_DB" value="sqlite://localhost/sites/default/files/.ht.sqlite"/> -->
<env name="SIMPLETEST_DB" value="mysql://db:db@db/db" />
<env name="BROWSERTEST_OUTPUT_DIRECTORY" value="web/sites/simpletest/browser_output" />
<env name="BROWSERTEST_OUTPUT_BASE_URL" value="" />
<env name="MINK_DRIVER_CLASS" value='' />
<env name="MINK_DRIVER_ARGS" value='' />
<env name="MINK_DRIVER_ARGS_WEBDRIVER" value='' />
<env name="SYMFONY_DEPRECATIONS_HELPER" value="disabled" />
</php>
<testsuites>
<testsuite name="custom">
<directory>./web/modules/custom/*/tests</directory>
<directory>./web/modules/custom/*/modules/*/tests</directory>
<directory>./web/themes/custom/*/tests</directory>
</testsuite>
</testsuites>
<listeners>
<listener class="\Drupal\Tests\Listeners\DrupalListener">
</listener>
</listeners>
</phpunit>
Custom phpunit config file support was added in #30
DDEV Selenium Standalone Chrome takes a different approach and set the values on a container level.
Play around and see what works best for your project.
Hi @gitressa
You need to configure PHPunit. I specifically submitted #30 because I wanted to generate the HTML output and prefer dot-output instead of test names when running PHPunit.
So now, you have 2 choices.
Add a phpunit.xml
config file to the project root
Generally, I use the same config file from a standard Drupal site.
This option allows you to full control over how to run phpunit including cache, report and coverage options.
Update .ddev/commands/web/phpunit
command
#ddev-generated
from the top (line 3)--testdox
from line 22NOTE: This file will not longer be automaticated updated when you update the add-on.
Thanks for creating that PR @tyler36! So as a user, I need to copy and edit a phpunit.xml
file? Wouldn't it be great if DDEV Drupal Contrib had a turn-key (or built-in) solution, just like DDEV Selenium Standalone Chrome, or isn't this possible?
So as a user, I need to copy and edit a phpunit.xml file
Yes, either take control of the configuration. Or take control of the command.
if you go the config route, at mimimum, you want something like:
<phpunit bootstrap="web/core/tests/bootstrap.php"
printerClass="\Drupal\Tests\Listeners\HtmlOutputPrinter">
<testsuites>
<testsuite name="modules">
<directory>web/modules/custom</directory>
</testsuite>
</testsuites>
</phpunit>
After running PHPUnit tests with DDEV Selenium Standalone Chrome, a lot of helpful HTML-pages are available in the
web/sites/simpletest/browser_output
folder.Is it also possible to get those pages generated in this project as well? Or maybe they already exist?
"web/sites/simpletest/browser_output" folder
```bash $ ddev exec -d /var/www/html/web "../vendor/bin/phpunit -v -c ./core/phpunit.xml.dist --group olivero" PHPUnit 9.6.15 by Sebastian Bergmann and contributors. Runtime: PHP 8.2.13 Configuration: ./core/phpunit.xml.dist Testing ............ 12 / 12 (100%) Time: 01:08.996, Memory: 148.00 MB OK (12 tests, 166 assertions) HTML output was generated https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-64-46741147.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-65-81885199.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-66-81885199.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-67-81885199.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-68-81885199.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-69-92476413.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-70-92476413.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-71-92476413.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-72-92476413.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-73-72834784.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-74-72834784.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-75-72834784.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-76-72834784.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-77-72834784.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-78-72834784.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-79-72834784.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-80-72834784.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-81-92586057.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-82-92586057.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-83-92586057.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalTests_Theme_OliveroTest-84-92586057.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-1-66562622.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-2-66562622.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-3-66562622.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-4-66562622.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-5-66562622.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-6-66562622.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-7-66562622.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-8-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-9-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-10-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-11-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-12-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-13-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-14-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-15-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-16-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-17-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-18-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-19-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-20-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-21-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-22-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-23-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-24-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-25-56519317.html https://drupal10.ddev.site/sites/simpletest/browser_output/Drupal_FunctionalJavascriptTests_Theme_OliveroMessagesTest-26-56519317.html Remaining self deprecation notices (1) 1x: The Drupal\Tests\field\Traits\EntityReferenceTestTrait is deprecated in drupal:10.2.0 and is removed from drupal:11.0.0. Instead, use \Drupal\Tests\field\Traits\EntityReferenceFieldCreationTrait. See https://www.drupal.org/node/3401941 1x in KernelTestSuite::suite from Drupal\Tests\TestSuites Failed to execute command ../vendor/bin/phpunit -v -c ./core/phpunit.xml.dist --group olivero: exit status 1 ```