Наборы тестов JUnit 4

Как мне создать тестовые наборы с JUnit 4?

Кажется, вся документация, которую я видел, мне не подходит. И если я использую мастер Eclipse, он не дает мне возможности выбрать какой-либо из созданных мной тестовых классов.

В Eclipse 3.7 Indigo мастер набора тестов теперь поддерживает JUnit 4.

Fabian Steeg 28.06.2011 19:20
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
100
1
72 798
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Я думаю, что TestSuite потерял популярность. Возможно, это было в стиле до 4.x, но, насколько мне известно, это не сейчас.

Я просто аннотирую нужные тесты и запускаю класс. Все аннотированные тесты выполняются. Я мог бы использовать Ant, но в большинстве случаев IntelliJ запускает их за меня.

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

Albert Gan 16.04.2012 08:48

@duffymo Я нахожу ваш комментарий интересным, так как до сих пор меня учили мыслить до 4.x относительно организации тестовых случаев в тестовых наборах

Vatsala 23.11.2012 08:00

Если у вас большое количество тестов, разные функциональные области / модули, различие между «основными» и вспомогательными / более медленными / дорогими неосновными тестами - по любой из этих причин - вы должны структурировать тесты в TestSuite.

Thomas W 12.02.2013 03:18

Вы можете использовать аннотацию @SuiteClass в нескольких классах, и вы можете вкладывать наборы в наборы. Идея их организации в 3.x по-прежнему полностью актуальна (и ее следует использовать). Вы можете структурировать все точно так же, как и раньше; вы просто используете синтаксис аннотации вместо TestSuite.suite(). На самом деле нет никаких преимуществ в использовании TestSuite по сравнению с аннотациями, и вы можете воспользоваться всеми улучшениями JUnit 4, если используете организационно эквивалентную аннотацию.

Thunderforge 18.12.2013 07:26

В верхней части моей головы создайте TestSuite и вызовите addTests. Если вы хотите, чтобы какой-то источник посмотрел, попробуйте любую библиотеку с открытым исходным кодом, такую ​​как hibernate или что-то из apache, и загляните в тестовый каталог источника для набора тестов ...

Ответ принят как подходящий
import org.junit.runners.Suite;
import org.junit.runner.RunWith;

@RunWith(Suite.class)
@Suite.SuiteClasses({TestClass1.class, TestClass2.class})
public class TestSuite {
  //nothing
}

Вы можете создать такой набор. Например, пакет AllTest будет выглядеть примерно так.

package my.package.tests;

@RunWith(Suite.class)
@SuiteClasses({
    testMyService.class,
    testMyBackend.class,
    ...
})

public class AllTests {}

Теперь вы можете запустить это несколькими способами:

  1. щелкните правой кнопкой мыши и запустите в Eclipse как тест Junit
  2. создать работающее Java-приложение; Основной класс = 'org.junit.runner.JUnitCore' и Args = 'my.package.tests.AllTests'
  3. запустить из командной строки:

    $ java -cp build/classes/:/usr/share/java/junit4.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore my.package.tests.AllTests
    

Добавил бы еще больше голосов за CMDLine :)

Gruber 20.10.2011 11:25

Вот шаги для создания набора JUnit в eclipse:

  1. В представлении «Package Explorer» перспективы eclipse «Java», выберите свои модульные тесты в их пакете внутри eclipse java проект.
  2. Щелкните правой кнопкой мыши любой из выбранных тестов.
  3. Во всплывающем меню выберите «Создать», «Другое»…
  4. Откройте папку «Java», затем откройте папку «JUnit».
  5. Выберите «JUnit Test Suite», а затем нажмите кнопку «Далее».
  6. Нажмите кнопку «Готово».
  7. Результат: создан файл пакета «AllTests.java» с автоматическими тестами. включены
  8. Нажмите кнопку Run в eclipse
  9. Результат: все тесты в комплекте запускаются
  10. Теперь вы можете указать на этот файл пакета с помощью ANT, Jenkins или другого инструмента непрерывной интеграции конфигурации сборки.

Информация о версии: это для eclipse Neon и JUnit 4. Вы также можете выбрать JUnit 3 перед тем, как выбрать «Готово» на шаге 6.

Не могли бы вы опубликовать файл build.xml, показывающий, как запустить этот набор тестов из ANT?

LiborStefek 22.05.2019 16:39

Другие вопросы по теме