Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Where are the generated HTML-pages saved? #29

Closed
gitressa opened this issue Jan 2, 2024 · 6 comments
Closed

Where are the generated HTML-pages saved? #29

gitressa opened this issue Jan 2, 2024 · 6 comments

Comments

@gitressa
Copy link
Contributor

gitressa commented Jan 2, 2024

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
$ 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
@tyler36
Copy link
Contributor

tyler36 commented Apr 3, 2024

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.

@tyler36
Copy link
Contributor

tyler36 commented Apr 4, 2024

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.

  1. 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.

  2. Update .ddev/commands/web/phpunit command

    • Remove #ddev-generated from the top (line 3)
    • Remove --testdox from line 22

NOTE: This file will not longer be automaticated updated when you update the add-on.

@gitressa
Copy link
Contributor Author

gitressa commented Apr 4, 2024

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?

@tyler36
Copy link
Contributor

tyler36 commented Apr 5, 2024

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.

@tyler36
Copy link
Contributor

tyler36 commented Apr 5, 2024

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>

@weitzman
Copy link
Collaborator

weitzman commented Jun 13, 2024

Fixed by #63. Now Drupal's printer says where they are saved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants