2012-03-08 6 views
0

Я хочу настроить свою тестовую базу данных с тестовыми данными, прежде чем начинать тесты. Я полагаю, что я должен запустить это один раз в начале модульных тестов, а не перед каждым тестовым классом для функции? Как я могу это сделать?Как получить единый setUp tearDown для всей группы тестов JUnit?

ответ

2

Вы можете добиться того, что с @SuiteClasses аннотацию:

@RunWith(Suite.class) 
@SuiteClasses({UserDaoTests.class, OrderDaoTests.class}) 
public class TestSuiteSetup { 
    @BeforeClass 
    public static void setUpDatabase() { 
     // ... 
    } 

    @AfterClass 
    public static void tearDownDatabase() { 
     // ... 
    } 
} 

тесты из UserDaoTests и OrderDaoTests будет работать между setUpDatabase и tearDownDatabase методами.

+0

Если я оставлю '@ RunWith', я получаю' Class not found'. Если я удалю это, я не получу никаких тестов, но у меня есть 4 '@ Test' в' DataAccessTests'. Пожалуйста, обратитесь к моему другому вопросу http://stackoverflow.com/questions/9627434/classnotfoundexception-when-in-junit-suite-setup-class –

0

Для чего это необходимо, TestNG поддерживает это с помощью @BeforeSuite и @AfterSuite (и многих других аннотаций конфигурации).

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