^How to configure phing build.xml to use drupal aotoloader

99 Views Asked by At

I've done a build.xml un the root of my drupal 8 path, and when i run ./vendor/bin/phing on my phpunit test in orther to convert the xml log to html, i don't have expected result. So how can i modify my build.xml

here the link that give me inspiration https://cweiske.de/tagebuch/visualizing-phpunit-runs.htm

my build.xml

<project name="svie_tarificateur_report" default="spheria-report" basedir=".">
    <!--<taskdef name="myecho" classname="MyEchoTask" />-->
 <target name="spheria-report">
     <echo msg="Hello, Doric!" />
     <autoloader autoloaderpath="./autoload.php"/>
  <phpunitreport infile="log.junit.xml"
                 format="frames"
                 todir="html"
                 styledir="/usr/share/php/data/phing/etc/"
                 />
 </target>
</project>

my phpunit log

<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
  <testsuite name="modules/custom" tests="2" assertions="2" errors="0" failures="0" skipped="0" time="0.008327">
    <testsuite name="Drupal\Tests\svie_tarificateur\Unit\CalculateurTest" file="/var/www/html/modules/custom/svie_tarificateur/tests/src/Unit/CalculateurTest.php" tests="2" assertions="2" errors="0" failures="0" skipped="0" time="0.008327">
      <testcase name="testAgeSouscription" class="Drupal\Tests\svie_tarificateur\Unit\CalculateurTest" classname="Drupal.Tests.svie_tarificateur.Unit.CalculateurTest" file="/var/www/html/modules/custom/svie_tarificateur/tests/src/Unit/CalculateurTest.php" line="43" assertions="1" time="0.008219"/>
      <testcase name="testAssureNo" class="Drupal\Tests\svie_tarificateur\Unit\CalculateurTest" classname="Drupal.Tests.svie_tarificateur.Unit.CalculateurTest" file="/var/www/html/modules/custom/svie_tarificateur/tests/src/Unit/CalculateurTest.php" line="50" assertions="1" time="0.000108"/>
    </testsuite>
  </testsuite>
</testsuites>

i expected a have a generated html but i have this error

[root@d15936c9eaa8 html]# ./vendor/bin/phing 
Buildfile: /var/www/html/build.xml

svie_tarificateur_report > spheria-report:

     [echo] Hello, Doric!
[autoloader] Loading autoloader from ./autoload.php

BUILD FAILED
ReflectionException: Class Drupal\Tests\svie_tarificateur\Unit\CalculateurTest does not exist in /var/www/html/vendor/phing/phing/classes/phing/tasks/ext/phpunit/PHPUnitReportTask.php:229
Stack trace:
#0 /var/www/html/vendor/phing/phing/classes/phing/tasks/ext/phpunit/PHPUnitReportTask.php(229): ReflectionClass->__construct('Drupal\\Tests\\sv...')
#1 /var/www/html/vendor/phing/phing/classes/phing/tasks/ext/phpunit/PHPUnitReportTask.php(269): PHPUnitReportTask->fixDocument(Object(DOMDocument))
#2 /var/www/html/vendor/phing/phing/classes/phing/UnknownElement.php(100): PHPUnitReportTask->main()
#3 /var/www/html/vendor/phing/phing/classes/phing/Task.php(283): UnknownElement->main()
#4 /var/www/html/vendor/phing/phing/classes/phing/Target.php(336): Task->perform()
#5 /var/www/html/vendor/phing/phing/classes/phing/Target.php(366): Target->main()
#6 /var/www/html/vendor/phing/phing/classes/phing/Project.php(898): Target->performTasks()
#7 /var/www/html/vendor/phing/phing/classes/phing/Project.php(868): Project->executeTarget('spheria-report')
#8 /var/www/html/vendor/phing/phing/classes/phing/Phing.php(723): Project->executeTargets(Array)
#9 /var/www/html/vendor/phing/phing/classes/phing/Phing.php(200): Phing->runBuild()
#10 /var/www/html/vendor/phing/phing/classes/phing/Phing.php(347): Phing::start(Array, NULL)
#11 /var/www/html/vendor/phing/phing/bin/phing.php(58): Phing::fire(Array)
#12 /var/www/html/vendor/phing/phing/bin/phing(14): require_once('/var/www/html/v...')
#13 {main}
Total time: 0.1182 seconds

because it don't find my drupal class

1

There are 1 best solutions below

0
jawira On

If you are using Composer then the autoload.php file is located inside vendor dir, try something like this:

<autoloader autoloaderpath="vendor/autoload.php"/>