Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use existing phpunit.xml in phing build.xml?

Tags:

php

phpunit

phing

I have an existing phpunit.xml (configuration file for phpunit), which looks like this:

<phpunit backupGlobals="false"
    backupStaticAttributes="false"
    bootstrap="./tests/bootstrap.php"
    convertErrorsToExceptions="true"
    convertNoticesToExceptions="true"
    convertWarningsToExceptions="true"
    strict="true" 
    verbose="true"
    colors="true">

    <testsuites>
        <testsuite name="My Tests">
            <directory>./tests</directory>
        </testsuite>
</testsuites>
</phpunit>

As DRY says, I don't want to simply copy & paste content of phpunit.xml to my build.xml to run phpunit with the same configuration.

My target in build.xml for Phing looks like this:

<target name="unit-test">
    <phpunit printsummary="true" />
</target>

Even that phpunit should automatically find phpunit.xml (when I launch it manually as like entering "phpunit" to my terminal and push enter, it works) and use it, in case of phing, the output looks like this:

[phpunit] Total tests run: 0, Failures: 0, Errors: 0, Incomplete: 0, Skipped: 0, Time elapsed: 0.00122 s

So is there any way, how to reach described behaviour?

like image 892
Radek Simko Avatar asked Dec 20 '22 18:12

Radek Simko


2 Answers

It's possible since phing 2.4.13 with the configuration attribute:

<phpunit configuration="path/to/phpunit.xml"/>
like image 177
cweiske Avatar answered Jan 05 '23 16:01

cweiske


One of possible solutions would be

<exec command="phpunit" logoutput="/dev/stdout" />

But it's missing the whole sugar around connection phpunit & phing.

I am afraid there are no other elegant solutions as the TestRunner is completely different in phing & phpunit.

like image 23
Radek Simko Avatar answered Jan 05 '23 17:01

Radek Simko