аннотация junit

Я хочу запустить времена приложения 2 GUI от теста Java. Как мы должны использовать @annotation в этом случае?

public class Toto { 

    @BeforeClass 
    public static void setupOnce() { 
        final Thread thread = new Thread() {
            public void run() {
               //launch appli
            }
        }; 
        try { 
            thread.start(); 
        } catch (Exception ex) { } 
    }
} 
public class Test extends toto {
    @Test 
    public void test() {
        setuptonce(); 
        closeAppli(); 
    } 

    @test 
    public void test2() 
    {
        setuptonce(); 
    } 
}

Запустить его второй раз, какую аннотацию я должен использовать? @afterclass?

9
задан GreenGiant 5 December 2012 в 17:23
поделиться

2 ответа

Метод с пометкой @BeforeClass означает, что он запускается один раз перед запуском любого из методов тестирования в тестовом классе . Метод с пометкой @Before запускается один раз перед каждым тестовым методом в классе. Их эквивалентами являются @AfterClass и @After .

Вероятно, вы стремитесь к чему-то вроде следующего.

@BeforeClass
public static void setUpClass() {
  // Initialize stuff once for ALL tests (run once)
}

@Before
public void setUp() {
  // Initialize stuff before every test (this is run twice in this example)
}

@Test
public void test1() { /* Do assertions etc. */ }

@Test
public void test2() { /* Do assertions etc. */ }

@AfterClass
public static void tearDownClass() {
  // Do something after ALL tests have been run (run once)
}

@After
public void tearDown() {
  // Do something after each test (run twice in this example)
}

Вам не нужно явно вызывать метод @BeforeClass в ваших тестовых методах, JUnit сделает это за вас.

22
ответ дан 4 December 2019 в 09:36
поделиться

Аннотация @BeforeClass используется для однократного запуска чего-либо перед фактическим запуском теста.

Итак, в зависимости от того, что вы хотите получить (и почему), вы можете просто обернуть код запуска в цикл, переместить код запуска в другой метод и вызвать его из другого места или написать отдельный тестовый пример.

0
ответ дан 4 December 2019 в 09:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: