Как запустить тестовые случаи в списке несколько разных jar-файлов? - PullRequest
0 голосов
/ 07 января 2009

У меня есть список файлов JAR, все они содержат несколько разные версии одной и той же системы.

Я хочу выполнить набор тестовых случаев для каждого файла JAR, имея возможность получать результаты для каждого файла JAR (через RunListener или что-то в этом роде).

Я немного запутался с предполагаемыми проблемами с загрузкой классов.

Как я могу красиво это сделать?

Ответы [ 2 ]

2 голосов
/ 07 января 2009

Если вы используете ant, задача JUnit принимает путь к классам.

<target name="test">
  <junit ...">
    <classpath>
      <pathelement path="${test.jar.path}" />
    </classpath>
    ...
  </junit>
</target>

Вы можете использовать задачу antcall для повторного вызова цели теста с другим значением для свойства test.jar.path.

0 голосов
/ 07 января 2009

Если jar-файлы поддерживают один и тот же интерфейс, то все, что вам нужно сделать, это запустить каждый тест с немного отличным путем к классу - каждый раз с jar-файлами из другой версии.

Если вы используете интеграцию Eclipse JUnit, просто создайте N конфигураций прогонов, в каждой из них на вкладке classpath укажите необходимые файлы jar.

Если вы хотите сделать это программно, тогда я предлагаю вам начать с пустого пути к классу и использовать URLClassLoader , каждый раз предоставляя ему другой набор jar-файлов.

Примерно так:

URLClassloader ucl = new URLClassLoader( list of jars from version1 );
TestCase tc = ucl.loadClass("Your Test Case").newInstance();
tc.runTest();

ucl = new URLClassLoader( list of jars from version2 );
TestCase tc = ucl.loadClass("Your Test Case").newInstance();
tc.runTest();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...