phpUnit & Ant 无法识别的选项 --log-xml

发布于 2024-09-25 10:03:30 字数 3022 浏览 2 评论 0原文

我正在尝试使用 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>

有人可以帮我解决这个问题吗?

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

Can someone help me to solve this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

倾其所爱 2024-10-02 10:03:30

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 选项,因此您需要也改变这些。

查看 以下 github 链接,了解从 PHPUnit 中删除的开关:

  • --log-pmd--log-metrics 已按所述删除 此处,目的是将相应的功能移至 PHP_DependPHPMD
  • 使用 --coverage- clover 而不是 --coverage-xml

希望有帮助!

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 into PHP_Depend and PHPMD
  • Use --coverage-clover instead of --coverage-xml

Hope that helps!

意犹 2024-10-02 10:03:30

对于--log-pmd
http://pdepend.org

表示 --log-metrics
http://phpmd.org

for --log-pmd
http://pdepend.org

for --log-metrics
http://phpmd.org

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文