Можно ли запускать тесты 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
Проблема, которую я вижу с созданием тестовых наборов вручную, заключается в том, что при появлении новых тестов вы можете забыть их добавить.
Ответы
Ответ 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 в настройках отладки/запуска вы можете выбрать следующие параметры:
- Запустите один тест
- Запустите все тесты в выбранной папке проекта, пакета или источника
Я думаю, что второй вариант - ваш друг в этом случае.