2011-12-18 4 views

ответ

1

Как я понимаю, BeforeTest указывает метод, который запускается до запуска набора тестов и определяется для этого набора тестов. В JUnit нет эквивалентной группировки, за исключением обычных люксов, поэтому вам необходимо определить набор и использовать @BeforeClass и @AfterClass в вашем номере как обычно.

Если вы хотите более сложное поведение, см. TestRule, в частности ExternalResource.

1

не знаком с TestNG, но из моего понимания вы можете сделать что-то подобное его с комбинацией Categories, Suite и @BeforeClass/@AfterClass.

Например:

import org.junit.BeforeClass; 
import org.junit.experimental.categories.Categories; 
import org.junit.experimental.categories.Categories.IncludeCategory; 
import org.junit.runner.RunWith; 
import org.junit.runners.Suite.SuiteClasses; 


@RunWith(Categories.class) 
@SuiteClasses(MyClassTest.class) 
@IncludeCategory(IntegrationTest.class) 
public class StaticTests { 
    @BeforeClass 
    public static void setUp() { 
     System.out.println("Hello, World!"); 
    } 
} 

Тогда в ваших тестах флага вещи, как @Category(IntegrationTest.class) и вы будете иметь логическую группировку тестов-из нескольких различных тестовых классов-которые вы можете запустить инициализацию вокруг.

Категории:

Категории позволяют указывать конкретные тесты для включения в набор, хотя это также возможно (если вы в первую очередь выделяете класс), чтобы включить соответствующие в набор или унаследовать их от базового класса который имеет такую ​​конфигурацию в нем. Какой из них лучше всего зависит от того, как вы хотите группировать свои тесты и конкретные варианты использования.

Как упоминается Matthew Farwell, есть также TestRule s, которые дают вам немного более тонкий контроль для настройки вокруг набора тестов.

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