джунтовая аннотация - PullRequest
9 голосов
/ 18 марта 2010

Я хочу запустить приложение GUI 2 раза из теста 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

Ответы [ 2 ]

21 голосов
/ 19 марта 2010

Метод, помеченный @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 сделает это за вас.

0 голосов
/ 18 марта 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...