TeamCity Ant Junit 2的报告已过期 [英] TeamCity Ant Junit 2 reports skipped as out-of-date
问题描述
我将TeamCity设置为在我承诺进行开发时进行自动构建.问题是,在尝试进行构建时,我收到了reports skipped as out-of-date
消息.
I'm setting up TeamCity to do automated builds when I commit something to develop. The problem being that on attempting to do a build I'm getting a reports skipped as out-of-date
message.
这是我的build.xml
Here's my build.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- WARNING: Eclipse auto-generated file.
Any modifications will be overwritten.
To include a user specific buildfile here, simply create one in the same
directory with the processing instruction <?eclipse.ant.import?>
as the first entry and export the buildfile again. -->
<project basedir="." default="build" name="RNS-Reader-v0.1">
<property environment="env"/>
<property name="ECLIPSE_HOME" value="../../../../../../../Applications/eclipse"/>
<property name="junit.output.dir" value="junit"/>
<property name="debuglevel" value="source,lines,vars"/>
<property name="target" value="1.6"/>
<property name="source" value="1.6"/>
<path id="RNS-Reader-v0.1.classpath">
<pathelement location="bin"/>
<pathelement location="src/libraries/cron4j-2.2.5.jar"/>
<pathelement location="src/libraries/dom4j-1.6.1.jar"/>
<pathelement location="src/libraries/jaxen-1.1.3.jar"/>
<pathelement location="src/libraries/joda-time-2.3.jar"/>
<pathelement location="src/libraries/mysql-connector-java-5.1.25-bin.jar"/>
<pathelement location="src/libraries/javax.mail.jar"/>
<pathelement location="src/libraries/jsoup-1.7.3.jar"/>
<pathelement location="src/libraries/commons-io-2.4.jar"/>
<pathelement location="src/libraries/twitter4j-async-3.0.5.jar"/>
<pathelement location="src/libraries/twitter4j-core-3.0.5.jar"/>
<pathelement location="src/libraries/twitter4j-examples-3.0.5.jar"/>
<pathelement location="src/libraries/twitter4j-media-support-3.0.5.jar"/>
<pathelement location="src/libraries/twitter4j-stream-3.0.5.jar"/>
<pathelement location="src/libraries/hamcrest-core-1.3.jar"/>
<pathelement location="src/libraries/junit-4.11.jar"/>
</path>
<target name="init">
<mkdir dir="bin"/>
<copy includeemptydirs="false" todir="bin">
<fileset dir="src">
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="clean">
<delete dir="bin"/>
</target>
<target depends="clean" name="cleanall"/>
<target depends="build-subprojects,build-project" name="build"/>
<target name="build-subprojects"/>
<target depends="init" name="build-project">
<echo message="${ant.project.name}: ${ant.file}"/>
<javac debug="true" debuglevel="${debuglevel}" destdir="bin" includeantruntime="false" source="${source}" target="${target}">
<src path="src"/>
<classpath refid="RNS-Reader-v0.1.classpath"/>
</javac>
</target>
<target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects"/>
<target description="copy Eclipse compiler jars to ant lib directory" name="init-eclipse-compiler">
<copy todir="${ant.library.dir}">
<fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/>
</copy>
<unzip dest="${ant.library.dir}">
<patternset includes="jdtCompilerAdapter.jar"/>
<fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/>
</unzip>
</target>
<target description="compile project with Eclipse compiler" name="build-eclipse-compiler">
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
<antcall target="build"/>
</target>
<target name="RNSReader">
<java classname="RNSReader" failonerror="true" fork="yes">
<classpath refid="RNS-Reader-v0.1.classpath"/>
</java>
</target>
<target name="SubscriberTest">
<mkdir dir="${junit.output.dir}"/>
<junit fork="yes" printsummary="withOutAndErr">
<formatter type="xml"/>
<test name="tests.domainObjectsTest.SubscriberTest" todir="${junit.output.dir}"/>
<classpath refid="RNS-Reader-v0.1.classpath"/>
</junit>
</target>
<target name="DayTradeTest">
<mkdir dir="${junit.output.dir}"/>
<junit fork="yes" printsummary="withOutAndErr">
<formatter type="xml"/>
<test name="tests.domainObjectsTest.DayTradeTest" todir="${junit.output.dir}"/>
<classpath refid="RNS-Reader-v0.1.classpath"/>
</junit>
</target>
<target name="junitreport">
<junitreport todir="${junit.output.dir}">
<fileset dir="${junit.output.dir}">
<include name="TEST-*.xml"/>
</fileset>
<report format="frames" todir="${junit.output.dir}"/>
</junitreport>
</target>
</project>
这是我的输出
[10:09:12]Checking for changes
[10:09:13]Ant JUnit report watcher
[10:09:13][Ant JUnit report watcher] Watching paths:
[10:09:13][Ant JUnit report watcher] src/**/*Test*.java
[10:09:13]Publishing internal artifacts
[10:09:13]Clearing temporary directory: /Users/christianmacedo/Documents/TeamCity/buildAgent/temp/buildTmp
[10:09:13]Checkout directory: /Users/christianmacedo/Documents/TeamCity/buildAgent/work/ec7b4331d9c6af60
[10:09:13]Updating sources: server side checkout
[10:09:13]Step 1/1: Ant (2s)
[10:09:16]Ant JUnit report watcher
[10:09:16][Ant JUnit report watcher] 2 reports found for paths:
[10:09:16][Ant JUnit report watcher] src/**/*Test*.java
[10:09:16][Ant JUnit report watcher] 2 reports skipped as out-of-date
[10:09:16]Publishing internal artifacts
[10:09:16][Publishing internal artifacts] Sending using WebPublisher
[10:09:16][Publishing internal artifacts] Sending using ArtifactsCachePublisher
[10:09:16]Build finished
如您所见,找到了单元测试,但已将其跳过.我如何不跳过它们?
As you can see, the unit tests are found but they're skipped. How can I not skip them?
推荐答案
文档内容如下:
该插件仅考虑自构建开始以来更新的文件(由上一个修改文件时间戳确定).
The plugin takes into account only the files updated since the build start (determined by means of the last modification file timestamp).
有两种方法可以设置报告处理.通过构建功能或通过
There are two ways to setup report processing. Through the build features or through service messages.
If you do it through service messages you can set parseOutOfDate='true'
to ignore the timestamp on the file.
##teamcity[importData type='typeID' path='<path>' parseOutOfDate='true']
这篇关于TeamCity Ant Junit 2的报告已过期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!