Очень расплывчатый вопрос.В частности, вы не упомянули, как вы выполняете свои тесты 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 {
}
}