2014-02-23 57 views
2

我在創建TeamCity時做了自動構建。問題是,在試圖構建我得到一個reports skipped as out-of-date消息。TeamCity Ant Junit 2報告被忽略爲過時

這裏是我的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 

正如你所看到的,單元測試發現,但他們跳過。我怎樣才能不是跳過它們?

+0

你有沒有設法解決這個問題?謝謝。 – Gavriel

+0

沒有。我仍然有恐怕完全一樣的問題。 – TheMightyLlama

回答

2

這是個什麼文件說:

插件僅考慮了,因爲構建開始(由上次修改文件的時間戳來確定)更新的文件。

有兩種方法來設置報告處理。通過build features或通過service messages。 如果通過服務消息完成,您可以將parseOutOfDate='true'設置爲忽略文件上的時間戳。

##teamcity[importData type='typeID' path='<path>' parseOutOfDate='true'] 
0

確保您的服務器上有同步時間。在我的情況下(Debian的8.5)同樣的問題已修復通過建立日常用ntpdate的cron:

sudo apt-get install ntpdate 
sudo ln -s /usr/sbin/ntpdate-debian /etc/cron.daily/ntpdate-debian