Я создал цель Ant, которая запускает мои тесты JUnit 4. К сожалению, все они выполнены дважды!
Кто-нибудь имеет представление о том, что я сделал неправильно?
Вот моя цель для муравья:
<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>
Моей первой идеей было то, что это из-за комплектов тестов. Но я так больше не думаю. Я исключил наборы тестов и, кроме того, это не только те тесты, которые являются частью наборов, которые запускаются дважды. Это все мои тесты.
Ниже приведен небольшой пример результатов теста одного из моих тестовых классов:
[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 выполняются дважды ...