Запустите внешнюю команду перед тестами JUnit в Eclipse - PullRequest
0 голосов
/ 19 февраля 2012

Можно ли выполнить внешнюю команду перед запуском тестов в заданном файле JUnit? Я запускаю свои тесты, используя команду Run Eclipse. Использование JUnit 4.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 19 февраля 2012

Очень расплывчатый вопрос.В частности, вы не упомянули, как вы выполняете свои тесты JUnit.Также вы упомянули «файл», и файл может содержать несколько тестов JUnit.Вы хотите выполнить внешнюю команду перед каждым из этих тестов или перед выполнением любого из них?

Но по теме:

Если вы используете JUnit 4 или выше, вы можете пометить метод аннотацией @Before, и этот метод будет выполняться перед каждым из ваших тегов @Test методы.Кроме того, пометка статического метода void @BeforeClass приведет к его запуску до запуска любого из методов @Test в классе.

public class MyTestClass {

    @BeforeClass
    public static void calledBeforeAnyTestIsRun() {
        // Do something
    }

    @Before
    public void calledBeforeEachTest() {
       // Do something
    }

    @Test
    public void testAccountCRUD() throws Exception {
    }
}

Если вы используете версию JUnit ранее, чем4, вы можете переопределить методы setUp() и setUpBeforeClass() в качестве замены для @Before и @BeforeClass.

public class MyTestClass extends TestCase {

    public static void setUpBeforeClass() {
        // Do something
    }

    public void setUp() {
       // Do something
    }

    public void testAccountCRUD() throws Exception {
    }
}
1 голос
/ 19 февраля 2012

Если вы используете JUnit 4.0, вы можете сделать следующее:

@Test
public void shouldDoStuff(){
    Process p = Runtime.getRuntime().exec("application agrument");
    // Run the rest of the unit test...
}

Если вы хотите запускать внешнюю команду для каждого модульного теста, то вы должны сделать это в методе установки @Before.

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