2009-12-15 63 views
2

我製作了一個運行我的JUnit 4測試的Ant目標。不幸的是他們都被執行了兩次!JUnit測試由我的Ant目標運行兩次

有沒有人知道我做錯了什麼?

這裏是我的Ant目標:

<target name="junit" description="Execute unit tests" depends="compile"> 
<delete dir="rawtestoutput"/> 
<delete dir="test-reports"/> 
<mkdir dir="rawtestoutput"/> 
<junit printsummary="on" failureproperty="junit.failure" fork="true"> 
    <classpath refid="class.path.junit"/> 
    <formatter type="xml" usefile="true" /> 
    <batchtest todir="rawtestoutput"> 
     <fileset dir="src/test"> 
      <include name="**/*.java"/> 

      <!-- Add util and testhelper classes here (to avoid "No tests in class" error) and add suite classes to avoid test being run twice --> 
      <exclude name="**/SessionHelper.java"/> 
      <exclude name="**/TestHelper.java"/> 
      <exclude name="**/AllTests.java"/> 
      <exclude name="**/AllEDITests.java"/> 
     </fileset> 
    </batchtest> 
</junit> 
<junitreport> 
    <fileset dir="rawtestoutput"/> 
    <report todir="test-reports"/> 
</junitreport> 
<fail if="junit.failure" message="Unit test(s) failed. See reports!"/> 
</target> 

我最初的想法是,這是因爲測試套件。但我不再那麼想了。我已經排除了測試套件,而且,它不僅是作爲運行兩次套件的一部分的測試。我所有的測試。

下面是我testsclasses之一的測試輸出的小樣本:

[20:24:53]: [junit] Running dk.gensam.gaia.business.ydelse.YdelsestypeBOTest 
[20:24:53]: [junit] dk.gensam.gaia.business.ydelse.YdelsestypeBOTest (2s) 
[20:24:54]: [dk.gensam.gaia.business.ydelse.YdelsestypeBOTest] loadYdelsevariationer 
[20:24:55]: [loadYdelsevariationer] [Test Output] EMMA: collecting runtime coverage data ... 
[20:24:55]: [dk.gensam.gaia.business.ydelse.YdelsestypeBOTest] loadYdelsestypeIndex_alleExisterendeErAnnullerede 
[20:24:56]: [dk.gensam.gaia.business.ydelse.YdelsestypeBOTest] loadYdelsestypeIndex_ingenEksisterendeValgteRelationer 
[20:24:56]: [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 3,077 sec 
[20:24:56]: dk.gensam.gaia.business.ydelse.YdelsestypeBOTest (3s) 
[20:24:56]: [dk.gensam.gaia.business.ydelse.YdelsestypeBOTest] loadYdelsevariationer 
[20:24:56]: [dk.gensam.gaia.business.ydelse.YdelsestypeBOTest] loadYdelsestypeIndex_alleExisterendeErAnnullerede 
[20:24:56]: [dk.gensam.gaia.business.ydelse.YdelsestypeBOTest] loadYdelsestypeIndex_ingenEksisterendeValgteRelationer 

正如你可以看到YdelsestypeBOTest測試運行兩次...

回答

0

這很難說究竟是什麼在這裏發生,但嘗試暫時刪除所有的測試套件並重新編譯,以確保它們不會引起問題。無論如何,如果您正在開始從測試套件移動到使用批處理測試,您似乎可能會想要擺脫測試套件。

2

從行:

[20時24分55秒]:[loadYdelsevariationer] [測試輸出] EMMA:收集運行時覆蓋數據

它看起來像一個不同Ant目標被調用代碼覆蓋工具Emma然後重新運行您的測試。如果你用這個目標運行你的Ant腳本,例如ant junit,它是否總是這樣做?

相關問題