Почему тесты Junit поддерживают только неполное переопределение fork? - PullRequest
0 голосов
/ 23 ноября 2011

Я заметил, что пакетный тест Junit позволяет переопределить параметр forkit режима junit.Это хорошо.

Однако, при дальнейшей проверке --- кажется, что batchtest НЕ поддерживает флаг "forkmode"?

Это кажется довольно странным.Это означает, что опция переопределения не обладает теми же возможностями, что и опция вилки junit.

Это намеренно и если да, то почему?

1 Ответ

2 голосов
/ 23 ноября 2011

Согласно документации JUnit Ant вы не можете переопределить параметр forkmode в batchtest.

Обычно вы используете опцию forkmode, например:

<junit printsummary="yes" 
       fork="yes" forkmode="perBatch" 
       haltonfailure="${halt.on.test.failure}"
       failureproperty="test.failed">
    <classpath refid="test.classpath"/>
    <syspropertyset refid="junit.properties"/>
    <jvmarg value="${test.locale}"/>
    <jvmarg value="-Xmx256M"/>
    <formatter type="plain"/>
    <batchtest todir="${reports.test}">
        <fileset dir="${src.test}">
           <include name="**/Test*.java"/>
           <exclude name="**/AllTests.java"/>
        </fileset>
    </batchtest>
</junit>

где параметр forkmode может быть "один раз", "perTest" или "perBatch".

Параметр perBatch позволяет создать виртуальную машину для каждого вложенного <batchtest>. Если вы переопределите <junit> "fork" в <batchtest>, вы будете запускать свои тесты на одной виртуальной машине.

Нет смысла иметь опцию "forkmode" дополнительно в элементах <batchtest>. Вы управляете режимами разветвления виртуальной машины в элементе junit.

...