cruisecontrol phpunit不创建输出

cruisecontrol phpunit不创建输出,phpunit,cruisecontrol,phpundercontrol,Phpunit,Cruisecontrol,Phpundercontrol,我似乎无法理解为什么phpunit目标不输出任何测试结果,即使我已经准备好了测试 我发现的问题是,没有迹象表明问题是什么!令人难以置信的沮丧 结果如下: <build error="C:\Program Files (x86)\CruiseControl\projects\myProject\build.xml:46: exec returned: 255" time="1 second"> <message priority="debug"><![CDAT

我似乎无法理解为什么phpunit目标不输出任何测试结果,即使我已经准备好了测试

我发现的问题是,没有迹象表明问题是什么!令人难以置信的沮丧

结果如下:

<build error="C:\Program Files (x86)\CruiseControl\projects\myProject\build.xml:46: exec returned: 255" time="1 second">
    <message priority="debug"><![CDATA[Adding reference: ant.PropertyHelper]]></message>
    <message priority="debug"><![CDATA[Detected Java version: 1.6 in: C:\Program Files (x86)\Java\jdk1.6.0_18\jre]]></message>
    <message priority="debug"><![CDATA[Detected OS: Windows Vista]]></message>
    <message priority="debug"><![CDATA[Adding reference: ant.ComponentHelper]]></message>
    <message priority="debug"><![CDATA[Setting ro project property: XmlLogger.file -> log.xml]]></message>
    <message priority="debug"><![CDATA[Setting ro project property: cclastgoodbuildtimestamp -> 20100604161400]]></message>
    <message priority="debug"><![CDATA[Setting ro project property: cctimestamp -> 20100604194749]]></message>
    <message priority="debug"><![CDATA[Setting ro project property: cvstimestamp -> 2010-06-04 18:47:49 GMT]]></message>
    <message priority="debug"><![CDATA[Setting ro project property: projectname -> myProject]]></message>
    <message priority="debug"><![CDATA[Setting ro project property: buildforced -> true]]></message>
    <message priority="debug"><![CDATA[Setting ro project property: label -> build.153]]></message>
    <message priority="debug"><![CDATA[Setting ro project property: cclastbuildtimestamp -> 20100604192123]]></message>
    <message priority="debug"><![CDATA[Setting ro project property: lastbuildsuccessful -> false]]></message>
    <message priority="debug"><![CDATA[Setting ro project property: ant.file -> C:\Program Files (x86)\CruiseControl\projects\myProject\build.xml]]></message>
    <message priority="debug"><![CDATA[Adding reference: ant.projectHelper]]></message>
    <message priority="debug"><![CDATA[Adding reference: ant.parsing.context]]></message>
    <message priority="debug"><![CDATA[Adding reference: ant.targets]]></message>
    <message priority="debug"><![CDATA[parsing buildfile C:\Program Files (x86)\CruiseControl\projects\myProject\build.xml with URI = file:/C:/Program%20Files%20(x86)/CruiseControl/projects/myProject/build.xml]]></message>
    <message priority="debug"><![CDATA[Setting ro project property: ant.project.name -> binarydreams]]></message>
    <message priority="debug"><![CDATA[Adding reference: myProject]]></message>
    <message priority="debug"><![CDATA[Setting ro project property: ant.file.myProject-> C:\Program Files (x86)\CruiseControl\projects\myProject\build.xml]]></message>
    <message priority="debug"><![CDATA[Project base dir set to: C:\Program Files (x86)\CruiseControl\projects\myProject]]></message>
    <message priority="debug"><![CDATA[ +Target: ]]></message>
    <message priority="debug"><![CDATA[ +Target: build]]></message>
    <message priority="debug"><![CDATA[ +Target: phpunit]]></message>
    <message priority="debug"><![CDATA[Attempting to create object of type org.apache.tools.ant.helper.DefaultExecutor]]></message>
    <message priority="debug"><![CDATA[Adding reference: ant.executor]]></message>
    <message priority="debug"><![CDATA[Build sequence for target(s) `build' is [phpunit, build]]]></message>
    <message priority="debug"><![CDATA[Complete build sequence is [phpunit, build, ]]]></message>
    <message priority="debug"><![CDATA[Could not load definitions from resource org/apache/tools/ant/antlib.xml. It could not be found.]]></message>
    <message priority="debug"><![CDATA[Execute:Java13CommandLauncher: Executing 'phpunit.bat' with arguments:
'--log-junit'
'C:\Program Files (x86)\CruiseControl\projects\myProject/build/logs/phpunit.xml'
'--coverage-clover'
'C:\Program Files (x86)\CruiseControl\projects\myProject/build/logs/phpunit.coverage.xml'
'--coverage-html'
'C:\Program Files (x86)\CruiseControl\projects\myProject/build/coverage'
'tests/'

The ' characters around the executable and arguments are
not part of the command.]]></message>
    <target name="phpunit" time="1 second">
      <task location="C:\Program Files (x86)\CruiseControl\projects\myProject\build.xml:46: " name="exec" time="1 second">
        <message priority="debug"><![CDATA[Current OS is Windows Vista]]></message>
        <message priority="debug"><![CDATA[Executing 'phpunit.bat' with arguments:
'--log-junit'
'C:\Program Files (x86)\CruiseControl\projects\myProject/build/logs/phpunit.xml'
'--coverage-clover'
'C:\Program Files (x86)\CruiseControl\projects\myProject/build/logs/phpunit.coverage.xml'
'--coverage-html'
'C:\Program Files (x86)\CruiseControl\projects\myProject/build/coverage'
'tests/'

The ' characters around the executable and arguments are
not part of the command.]]></message>
      </task>
    </target>
    <stacktrace><![CDATA[C:\Program Files (x86)\CruiseControl\projects\myProject\build.xml:46: exec returned: 255
    at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:636)
    at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:662)
    at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:487)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:357)
    at org.apache.tools.ant.Target.performTasks(Target.java:385)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
    at org.apache.tools.ant.Main.runBuild(Main.java:698)
    at org.apache.tools.ant.Main.startAnt(Main.java:199)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
]]></stacktrace>
  </build>
<?xml version="1.0" encoding="UTF-8"?>
<project name="myProject" default="build" basedir=".">

  <target name="build" depends="phpunit"/>

  <target name="phpunit">
    <exec executable="phpunit.bat" dir="${basedir}/source" failonerror="on">
      <arg line="--log-junit '${basedir}/build/logs/phpunit.xml'
          --coverage-clover '${basedir}/build/logs/phpunit.coverage.xml'
          --coverage-html '${basedir}/build/coverage' tests/" />
    </exec>
  </target>

</project>

log.xml]]>
20100604161400]]>
20100604194749]]>
2010-06-04 18:47:49格林威治标准时间]]>
myProject]]>
正确]]>
build.153]>
20100604192123]]>
错误]]>
C:\ProgramFiles(x86)\CruiseControl\projects\myProject\build.xml]>
binarydreams]]>
C:\ProgramFiles(x86)\CruiseControl\projects\myProject\build.xml]>

nuqqsa

是的,预期的日志文件不会出现。不过,测试似乎是在运行,因为我必须修复我的require_once路径

在命令提示下,我将在源文件夹中执行以下操作:

phpunit.bat --log-junit "C:\Program Files(x86)\CruiseControl\projects\myProject/build/logs/phpunit.xml" 
--coverage-clover "C:\Program Files(x86)\CruiseControl\projects\myProject/build/logs/phpunit.coverage.xml" 
--coverage-html "C:\Program Files(x86)\CruiseControl\projects\myProject/build/coverage" tests/
我希望这与路径中的空间或另一半路径的斜线无关


我有一个想法。我在运行构建时进行了调试(使用PHPEdit),PHPUnit似乎确实被执行了,但我没有在任何测试中设置断点来查看它们是否被执行。我会在回家后再做报告。

我遇到了同样的问题:当使用Cruisecontrol项目的build.xml运行测试时,我得到了预期的输出:

    me@developer-laptop:$ cd cruisecontrol/projects/myproject/
    me@developer-laptop:$ ../../apache-ant-1.7.0/bin/ant phpunit
    ... this created correct unit-tests output
但是当通过PHPUnderControl浏览器查看时,它显示为0个测试

我发现这是因为在cruisecontrol的config.xml中没有为发布者设置正确的路径

以下是我的示例:

<log dir="logs/${project.name}">
    <merge dir="projects/${project.name}/build/logs/"></merge>
</log>
<publishers>
    <artifactspublisher dir="projects/${project.name}/build/coverage" dest="artifacts/${project.name}" subdirectory="coverage"></artifactspublisher>
    <execute command="phpuc graph logs/${project.name} artifacts/${project.name}"></execute>
</publishers>


希望这有帮助

尝试在命令行中执行测试,就像在BuildWird中一样,我希望您在执行该命令时在屏幕上看到测试输出的进度,尽管我不知道在Windows中这种行为是否不同(?)。关于文件路径,请尝试使用一个非复杂的路径来测试这是否是问题所在。