2009-07-26 3 views
1

Я новичок в затмении. Я использую JUnit 4. и я написал метод настройки в своем классе, который расширяет Testcase, где происходит некоторая инициализация. У меня есть набор тестов в одном классе. У меня есть тестовые данные в zip-форме и прикреплены к рабочему пространству. В настоящее время я могу запускать все тестовые примеры для отдельных тестовых данных. Каким-то образом я хочу, чтобы элемент управления вернулся к настройке() для получения вторых тестовых данных и запуска всех тестовых примеров. Возможно ли это? ans, если да, может кто-нибудь отправить какой-нибудь фрагмент кода?Выполнение нескольких тестовых данных в одном наборе тестовых случаев

Заранее спасибо

Спасибо за ответ, но где я должен держать такой код, должен ли он быть в настройки метода и как тестовые данные будут вознесшийся от настройки?

+0

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

ответ

1

Вам необходимо использовать параметрированный бегун. Он позволяет запускать один и тот же тест с несколькими тестовыми данными. например Следующее будет означать, что тесты будут выполняться четыре раза, при этом параметр «число» каждый раз менялся на значение в массиве.

@RunWith(value = Parameterized.class) 
public class StackTest { 
Stack<Integer> stack; 
private int number; 

public StackTest(int number) { 
    this.number = number; 
} 

@Parameters 
public static Collection data() { 
    Object[][] data = new Object[][] { { 1 }, { 2 }, { 3 }, { 4 } }; 
    return Arrays.asList(data); 
} 
... 
} 

Редактировать

Не уверен, что не ясно, но я попытаюсь прояснить.

Требуется аннотация @RunWith (value = Parameterized.class). У вас должен быть аннотированный метод с @Parameters, который возвращает объект Collection, каждый элемент которого должен быть массивом различных параметров, используемых для теста. У вас должен быть открытый конструктор, который будет принимать эти параметры.

Дополнительная информация, и еще один пример можно найти в documentation.

Еще больше examples.

+0

Спасибо, Но где их написать под методом Setup()? и если да, то какой будет поток контроля? – 2009-07-26 06:42:51

+0

Можете ли вы разместить свой тестовый класс? – hobodave