2009-12-15 4 views
2

Я сделал цель Ant, которая запускает мои тесты JUnit 4. К сожалению, все они выполняются дважды!Тесты JUnit выполняются дважды моей целью 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

Трудно сказать, что именно здесь, но попробуйте временно удалить все ваши тестовые пакеты и перекомпилировать, чтобы убедиться, что они не вызывают проблемы. Похоже, что вы, возможно, захотите избавиться от тестовых наборов, если вы начинаете переходить от тестовых наборов к использованию batchtest.

2

От линии:

[20:24:55]: [loadYdelsevariationer] [Test Output] EMMA: сбор данных по охвату выполнения

Это выглядит как другой Ant мишени ссылающегося инструмент покрытия Emma, который затем повторно запускает ваши тесты. Если вы запускаете скрипт Ant с этой целью, то есть ant junit, всегда ли это делается?

Смежные вопросы