我正在尝试使用Ant自动化我的测试过程。 这是我的错误:
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)
这是我的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 --coverage-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>
有人可以帮我解决这个问题吗?
答案 0 :(得分:3)
PHPUnit 3.5.0不接受--log-xml
参数。以下是--help
命令输出的可用选项:
$ 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.
您应该使用--log-junit
代替。
注意,也没有--log-pmd
,--log-metrics
或--coverage-xml
选项,因此您也需要更改这些选项。
查看关于从PHPUnit中删除的交换机的github链接后的this:
--log-pmd
和--log-metrics
已按照here所述移除,目的是将相应的功能移至PHP_Depend
和PHPMD
--coverage-clover
代替--coverage-xml
希望有所帮助!
答案 1 :(得分:1)
表示--log-pmd http://pdepend.org
表示--log-metrics http://phpmd.org