2014-09-30 10 views
3

У меня есть сценарий, в котором я хочу игнорировать весь тестовый класс junit, содержащий набор тестовых методов на основе определенного логического значения, которое я читаю из файла свойств. Это свойство является логическим значением. Если false, весь тестовый класс должен быть пропущен из исполнения.Junit: игнорировать или пропускать весь тестовый класс

Я пробовал использовать аннотацию @Ignore, но не уверен, что это можно использовать для такого сценария.

Пожалуйста, помогите.

С уважением,

+0

@Ignore не может использоваться, потому что у него нет аргументов. –

ответ

3

AFAIK, @Ignore не поможет здесь. Попробуйте использовать Assume с чем-то похожее на это (если предположение терпит неудачу, то испытание будет выглядеть, как игнорировали Конечно, вы можете поместить в любой метод испытания, если предположить, что решение не является классом мудр.):

import org.junit.Assume; 
import org.junit.BeforeClass; 
import org.junit.Test; 

public class TestWithAssume { 

    @BeforeClass 
    public static void beforeClass() throws Exception { 
     Assume.assumeTrue(true); // LOAD THE VALUE FROM THE PROPERTIES FILE AS NEEDED... 
    } 

    @Test 
    public void test1() throws Exception { 
    } 

    @Test 
    public void test2() throws Exception { 
    } 

} 
+0

Привет, Шломи, можно ли использовать аннотацию @BeforeClass, если мой класс Test расширяет класс Base/Parent? – Anand03

+0

Я так думаю ... Лучше всего попробовать и посмотреть. Напишите простую конструкцию, которая имитирует ваш код, как я сделал, с помощью простого фрагмента и добавляет println() на каждом этапе. Запустите его и посмотрите, что было выполнено и в каком порядке. – shlomi33

Смежные вопросы