Запустить несколько задач муравья на одной виртуальной машине - PullRequest
0 голосов
/ 12 мая 2009

Я запускаю юнит-тест с использованием муравья

<target name="test" depends="tomcatDeploy" description="Build and run tests">
    <ant dir="${aDir}" target="test"/>
    <ant dir="${bDir}" target="test"/>
    <ant dir="${cDir}" target="test"/>
    <ant dir="${dDir}/ExtFramework"  target="test"/>
</target>

и я хочу запустить их все на одной и той же виртуальной машине - в противном случае я получаю много накладных расходов при создании jvm, повторном создании статики и так далее.

Есть ли способ сделать это?

Ответы [ 4 ]

1 голос
/ 15 мая 2009

Я думаю, что задача subant - это то, что вы ищете. Предполагая, что все ваши подкаталоги имеют общего родителя, вы можете сделать что-то вроде следующего:

<target name="test" depends="tomcatDeploy" description="Build and run tests">
    <subant target="test">
        <fileset dir="${parent}" includes="**/build.xml"/>
    </subant>
</target>

EDIT Как вы проводите тесты? Если вы используете задачу junit, у вас есть fork="yes"? Если это так, тесты будут запущены на новой виртуальной машине. Измените его на fork="no" для запуска тестов на той же виртуальной машине.

0 голосов
/ 16 мая 2009
<parallel threadCount='4'>
  <ant target='TargetThatConsumesLotsOfCPUTimeAndMemory'>
    <param name='file' value='one.txt'/>
  </ant>
  <ant target='TargetThatConsumesLotsOfCPUTimeAndMemory'>
    <param name='file' value='two.txt'/>

  </ant>
  <ant target='TargetThatConsumesLotsOfCPUTimeAndMemory'>
    <param name='file' value='three.txt'/>
  </ant>
  <!-- repeated about 40 times -->
</parallel>

http://www.java -tips.org / другие-API-советы / муравей / как в использовании параллельного task.html

0 голосов
/ 15 мая 2009

Попытайтесь минимизировать проблему: создает ли ваш тест новую виртуальную машину, если вы запускаете ее вручную через JUnit? Или проблема возникает только в сочетании с муравьем?
Вероятно, это JUnit или ваши тесты, создающие новую ВМ и утечки памяти.

0 голосов
/ 12 мая 2009

Задача сама по себе не создает новую виртуальную машину. Ваши тесты создают новую ВМ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...