Как заставить Eclipse распознавать тесты JUnit при создании набора?

Когда я использую Eclipse для создания набора тестов JUnit, он не обнаруживает никаких существующих тестов и предупреждает: «Тестовые классы не выбраны».

Я начал с пакета тестового класса (test / com /.../ package), и пакет выбран. Там есть несколько тестов JUnit, также созданных с помощью той же версии Eclipse, но нет возможности их выбрать.

Я использую JUnit 4.

Спасибо!


person orbfish    schedule 29.07.2010    source источник


Ответы (3)


Мастер создания набора в настоящее время работает только с тестами JUnit 3, см. соответствующую запись bugzilla.

person Fabian Steeg    schedule 31.07.2010
comment
Как давно существует JUnit 4? Что ж, это все объясняет, спасибо! - person orbfish; 31.07.2010

Мне подходит набор:

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

@RunWith(Suite.class)
@SuiteClasses( { MyTest.class })
public class SeleniumSuite {

    ...

}

Это помогает, если вы хотите запустить только подмножество тестов, определенных в пакете. Как вас зовут тесты? Попробуйте рефакторинг их, чтобы они назывались Test * .java или * Test.java.

person Jatin    schedule 29.07.2010
comment
Это обычный * Test.java, созданный Eclipse. - person orbfish; 29.07.2010

В Eclipse вы можете просто щелкнуть правой кнопкой мыши проект / пакет, в котором вы хотите запускать тесты, и выбрать Run as > Junit Test - вам не придется полностью создавать программный класс набора тестов.

person matt b    schedule 29.07.2010
comment
Хм? Я имею в виду создание класса TestSuite, который программно перечисляет тесты, которые нужно включить. Eclipse может выполнять все ваши тесты в проекте без одного, как и Ant / Maven и т. Д. Не могли бы вы объяснить, как вы пытаетесь вызвать тесты из Eclipse? - person matt b; 29.07.2010
comment
Может я неправильно понял - run as создает исходный код? Я попробую. - person orbfish; 31.07.2010
comment
Нет, run as выполняет классы / приложения / и т. Д. Я хочу сказать, что в Eclipse вам не нужно беспокоиться о создании TestSuite - средство запуска тестов Eclipse может запускать серию модульных тестов без одного (просто через графический интерфейс пользователя, который ему нужно запустить). - person matt b; 01.08.2010
comment
Смысл создания набора в том, чтобы тесты можно было автоматизировать. Если вам нужно сесть и выбрать «Запуск от имени», значит, вы не выполняете ночной / ежечасный пакетный процесс, вы - человек. - person orbfish; 03.08.2010
comment
Верно, но обычно вы не автоматизируете свои тесты, запуская их в Eclipse. Вы делаете это с помощью Ant или Maven, оба из которых имеют функции, которые могут обрабатывать запуск всех тестов в данной папке / пакете / и т. Д., Что исключает необходимость вручную создавать TestSuite. Eclipse имеет тот же тип функции, что было моей единственной точкой зрения. - person matt b; 04.08.2010
comment
Это наиболее практичный ответ. Спасибо. - person Peter Ajtai; 04.12.2010