I am trying to automate my testing procedure using Ant. This is my error:
test:
PHPUnit 3.5.0 by Sebastian Bergmann.
unrecognized option --log-xml
/var/www/nrka2/build/build.xml:30: exec returned: 1
BUILD FAILED (total time: 1 second)
And this is my build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="eventManager" default="build" basedir="../">
<target name="getProps">
<property file="${basedir}/build/ant.properties" />
<condition property="script-suffix" value="" else="">
<os family="unix" />
</condition>
<echo message="---- Build Properties ----" />
<echo message="" />
<echo message="OS is ${os.name}" />
<echo message="Basedir is ${basedir}" />
<echo message="Property file is ${basedir}/build/ant.properties" />
<echo message="Script-suffix is ${script-suffix}" />
<echo message="" />
<echo message="---- eventManager Properties ----" />
<echo message="" />
<echo message="Environment is ${environment}" />
</target>
<target name="test" depends="getProps">
<exec dir="${basedir}/tests" executable="phpunit${script-suffix}"
failonerror="true">
<arg line="--colors --coverag开发者_运维知识库e-html ${basedir}/build/report
--log-xml ${basedir}/build/logs/phpunit.xml
--log-pmd ${basedir}/build/logs/phpunit.pmd.xml
--log-metrics ${basedir}/build/logs/phpunit.metrics.xml
--coverage-xml ${basedir}/build/logs/phpunit.coverage.xml
AllTests.php" />
</exec>
</target>
<target name="configure" depends="getProps">
<copy file="${basedir}/application/application.php.dist" tofile="${basedir}/application/application.php"
overwrite="true" />
<replace file="${basedir}/application/application.php" token="@ENVIRONMENT@"
value="${environment}" />
</target>
<target name="buildPreparation">
<mkdir dir="${basedir}/build/logs" />
<mkdir dir="${basedir}/build/report" />
</target>
<target name="clean">
<delete dir="${basedir}/build/logs" />
<delete dir="${basedir}/build/report" />
</target>
<target name="deploy">
<echo message="---- Removing require_once ----" />
<replaceregexp byline="true">
<regexp pattern="require_once 'Zend/" />
<substitution expression="// require_once 'Zend/" />
<fileset dir="${basedir}/library/Zend" excludes="**/*Autoloader.php"
includes="**/*.php" />
</replaceregexp>
</target>
<target name="build" depends="buildPreparation,configure,test" />
</project>
Can someone help me to solve this problem?
PHPUnit 3.5.0 does not take a --log-xml
argument. Here are the available options output by the --help
command:
$ phpunit --help
PHPUnit 3.5.0 by Sebastian Bergmann.
Usage: phpunit [switches] UnitTest [UnitTest.php]
phpunit [switches] <directory>
--log-junit <file> Log test execution in JUnit XML format to file.
--log-tap <file> Log test execution in TAP format to file.
--log-dbus Log test execution to DBUS.
--log-json <file> Log test execution in JSON format.
--coverage-html <dir> Generate code coverage report in HTML format.
--coverage-clover <file> Write code coverage data in Clover XML format.
--story-html <file> Write Story/BDD results in HTML format to file.
--story-text <file> Write Story/BDD results in Text format to file.
--testdox-html <file> Write agile documentation in HTML format to file.
--testdox-text <file> Write agile documentation in Text format to file.
--filter <pattern> Filter which tests to run.
--group ... Only runs tests from the specified group(s).
--exclude-group ... Exclude tests from the specified group(s).
--list-groups List available test groups.
--loader <loader> TestSuiteLoader implementation to use.
--repeat <times> Runs the test(s) repeatedly.
--story Report test execution progress in Story/BDD format.
--tap Report test execution progress in TAP format.
--testdox Report test execution progress in TestDox format.
--colors Use colors in output.
--stderr Write to STDERR instead of STDOUT.
--stop-on-error Stop execution upon first error.
--stop-on-failure Stop execution upon first error or failure.
--stop-on-skipped Stop execution upon first skipped test.
--stop-on-incomplete Stop execution upon first incomplete test.
--strict Mark a test as incomplete if no assertions are made.
--verbose Output more verbose information.
--wait Waits for a keystroke after each test.
--skeleton-class Generate Unit class for UnitTest in UnitTest.php.
--skeleton-test Generate UnitTest class for Unit in Unit.php.
--process-isolation Run each test in a separate PHP process.
--no-globals-backup Do not backup and restore $GLOBALS for each test.
--static-backup Backup and restore static attributes for each test.
--syntax-check Try to check source files for syntax errors.
--bootstrap <file> A "bootstrap" PHP file that is run before the tests.
--configuration <file> Read configuration from XML file.
--no-configuration Ignore default configuration file (phpunit.xml).
--include-path <path(s)> Prepend PHP's include_path with given path(s).
-d key[=value] Sets a php.ini value.
--help Prints this usage information.
--version Prints the version and exits.
You should probably use --log-junit
instead.
Note there are also no --log-pmd
, --log-metrics
or --coverage-xml
options so you'll need to change these too.
Check out this following github link regarding switches removed from PHPUnit:
--log-pmd
and--log-metrics
have been removed as described here with the intention that the corresponding functionality will be moved intoPHP_Depend
andPHPMD
- Use
--coverage-clover
instead of--coverage-xml
Hope that helps!
for --log-pmd http://pdepend.org
for --log-metrics http://phpmd.org
精彩评论