тестовые комплекты junit - PullRequest
1 голос
/ 01 марта 2010

У меня есть скрипт (test.bat), который позволяет мне запустить один тест Java из командной строки: -java -cp () org.junit.runner.JUnitCore package.Class

Теперь я хочу сделать то же самое для нескольких тестов Java? как я мог это сделать? я должен добавить байт-код для каждого теста Java? Могу я привести пример, пожалуйста?

Ответы [ 5 ]

4 голосов
/ 01 марта 2010

Вы можете использовать Ant для запуска ваших тестов с помощью одной команды с задачей junit ant. Вот пример того, как его использовать:

<target name="runtests" depends="clean,compiletests">           
    <junit printsummary="yes" haltonfailure="no">
        <classpath>
            <path refid="test.classpath" />                 
            <pathelement location="${test.classes}"/>
        </classpath>                                
        <formatter type="xml"/>     
        <batchtest fork="yes" todir="${test.reports}">
            <fileset dir="${test.src}">
                <include name="**/*Test*.java"/>
            </fileset>
        </batchtest>
    </junit>        
</target>

Эта цель использует batchtest, которая является частью задачи junit ant. Он устанавливает ваш путь к классу теста, поэтому все ваши тесты, которые содержат шаблон Test .java в своем имени класса, будут включены. Ознакомьтесь с документацией JUnit Task .

2 голосов
/ 01 марта 2010

В JUnit вы можете сгруппировать свои тесты в набор тестов, а затем запустить их с помощью одной команды.

Вот учебник по с использованием наборов тестов в JUnit 3 , а - это сообщение SO о , то же самое с JUnit 4 . Более того, вот руководство по , как использовать новые функции JUnit 4 .

Однако, если вы практически пытаетесь написать скрипт сборки в своем пакетном файле, я рекомендую вместо этого использовать существующую систему сборки, будь то Ant , Maven , Buildr или что-то еще.

0 голосов
/ 10 февраля 2011

Вы можете создать наборы, используя синтаксис аннотации JUnit. Я описываю это в подробнее здесь .

0 голосов
/ 01 марта 2010

вижу 3 варианта:

  • Используйте ant (смотрите другие ответы, пока я набираю)
  • обновить пакет до java -cp ... file1 file2 filen
  • используйте что-то вроде этого:

    org.junit.runner.JUnitCore.runClasses(TestClass1.class, ...);
    public class GlobalTest { }
    
0 голосов
/ 01 марта 2010

Соглашение, используемое в JUnit, состоит в том, чтобы иметь набор тестов AllTests, который группирует все тесты в проекте вместе, и иметь скрипт Ant или любой другой, выполняющий набор тестов AllTests.

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