Методы SetUp/TearDown в тестах Sahi с использованием инфраструктуры Junit

Можно ли разместить методы setup/teardown, использующие инфраструктуру JUnit, в одном классе (который был бы моим базовым классом), чтобы при выполнении тестов эти методы всегда вызывались первым / последним? это было бы аналогично тому, как можно структурировать тесты nunit

в настоящее время единственный способ, с помощью которого я могу начать свои тесты, - это если у меня есть методы setup/teardown в том же классе, что и мои тесты (чего я не хочу избегать, чтобы сохранить свои тестовые классы чистыми)

пример, который я бы хотел создать;

public class baseclass
{
    @Before
    public void setUp
    {}

    @After
    public void tearDown
    {}
}

public class tests
{
    @Test
    public void test1
    {
        // test content here
    }
}

2 ответа

Запустите этот тест и посмотрите последовательность событий

class Test1 {
    @Before
    public void setUp1() {
        System.out.println("setUp1");
    }
}

public class Test2 extends Test1 {
    @Before
    public void setUp2() {
        System.out.println("setUp2");
    }

    @Test
    public void test() {
        System.out.println("test");
    }

}

Да, пока ваш test класс продлить свой baseclass,
Например:

  • свита

    @RunWith(Suite.class)
    @SuiteClasses(Tests.class)
    public class AllTests {
    
    }
    
  • BaseClass

    public class BaseClass {
    
        @BeforeClass 
        public static void beforeAll() { 
        }
    
        @Before
        public void setUp() { 
        }
    
        @After
        public void tearDown {
        }
    
        @AfterClass 
        public static void afterAll() { 
        }
    }
    
  • тесты

    public class Test extends BaseClass {
    
        @Test
        public void test1() {
        }
    
        @Test
        public void test2() {
        }
    
    }
    
Другие вопросы по тегам