Подтвердить что ты не робот

Можно ли запускать тесты JUnit из нескольких пакетов в Eclipse?

Можно ли запускать тесты JUnit для нескольких пакетов одновременно без создания тестовых наборов вручную.

Например, если у меня есть иерархия:

code.branchone
code.branchone.aaa
code.branchone.bbb
code.branchtwo
code.branchtwo.aaa
code.branchtwo.bbb

Можно ли:

  • Запустите все тесты в code.branchone и в потоковых пакетах
  • Запустите все тесты в разделе code.branchone.aaa и code.branchtwo.bbb

Проблема, которую я вижу с созданием тестовых наборов вручную, заключается в том, что при появлении новых тестов вы можете забыть их добавить.

4b9b3361

Ответ 1

Да, это возможно. Самый простой способ для меня - это добавить класс тестового набора. Это может выглядеть так:

package tests;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

import tests.message.ATest;
import tests.validator.BTest;
import tests.validator.CTest;
import tests.validator.DTest;

@RunWith(Suite.class)
@SuiteClasses({ ATest.class, 
        BTest.class, 
        CTest.class, 
        DTest.class })
public class AllTests {

}

Это позволит вам протестировать любой импортируемый класс независимо от того, в каком пакете он находится. Чтобы запустить это в eclipse, вы просто щелкните правой кнопкой мыши класс AllTests и запустите его как тест JUnit. Затем он выполнит все тесты, которые вы определяете в @SuiteClasses.

Это будет работать со связанными источниками, я все время использую его.

Ответ 2

Другой способ:

Нажмите на черный треугольник, обозначенный красным прямоугольником на рисунке ниже (в вашем Eclipse, а не здесь:).

enter image description here

Затем откройте конфигурации запуска, создайте новую конфигурацию и затем установите "Запустить все тесты...", как показано на рисунке ниже.

enter image description here

Ответ 3

Возможно, не совсем то, что было в исходном вопросе, но вы можете легко запустить все тесты всего проекта, просто щелкнув правой кнопкой мыши проект → Run As JUnitTest. Не беспокойтесь, где находятся аннотированные классы, это будет проверено.

Это не работает, если применяется к папке test-src или пакету с подпакетами. Довольно стыдно на самом деле -.-

Ответ 4

Я уверен, что вы можете немного подкорректировать это. Создайте коллекцию свойства CLASSES_DIR и переверните ее в методе findClasses. (Junit4)

http://burtbeckwith.com/blog/?p=52

Ответ 5

Конечно, щелкните правой кнопкой мыши нужные пакеты и выберите Run As... JUnit Test

Ответ 6

Я полагаю, что вы можете добавить все тестовые пакеты в один каталог. Если вы щелкните правой кнопкой мыши по этому каталогу, вы должны найти опцию "run as → JUnit test". Это запустит все тесты, содержащиеся в каталоге, и поймает все, что вы добавили. Любые новые тесты попадают туда вместе с остальными, и любое имя пакета, которое у вас есть, не имеет значения. Надеюсь, что поможет

Ответ 7

В Eclipse в настройках отладки/запуска вы можете выбрать следующие параметры:

  • Запустите один тест
  • Запустите все тесты в выбранной папке проекта, пакета или источника

Я думаю, что второй вариант - ваш друг в этом случае.