如何在所有测试类开始之前执行一段代码?

如何在所有类中的所有测试开始之前执行一次方法?

我有一个程序需要在任何测试开始之前设置系统属性。有什么办法可以做到这一点吗?

注意:@BeforeClass@Before仅用于同一测试类。就我而言,我正在寻找一种在所有测试类启动之前执行方法的方法。


一只甜甜圈
浏览 139回答 3
3回答

暮色呼如

要为您的测试用例设置前提条件,您可以使用类似这样的东西 -@Beforepublic void setUp(){    // Set up you preconditions here    // This piece of code will be executed before any of the test case execute }

喵喵时光机

如果您需要在所有测试开始之前运行该方法,则应该使用注释@BeforeClass,或者如果您需要每次执行该类的测试方法时都执行相同的方法,则必须使用@Before铁@Beforepublic void executedBeforeEach() {   //this method will execute before every single test}@Testpublic void EmptyCollection() {  assertTrue(testList.isEmpty());     }

森林海

您可以使用测试套件。测试套件@RunWith(Suite.class)@Suite.SuiteClasses({ TestClass.class, Test2Class.class, })public class TestSuite {    @BeforeClass    public static void setup() {        // the setup    }}并且,测试类public class Test2Class {    @Test    public void test2() {        // some test    }}public class TestClass {    @Test    public void test() {        // some test    }}或者,您可以有一个处理设置的基类public class TestBase {    @BeforeClass    public static void setup() {        // setup    }}然后测试类可以扩展基类public class TestClass extends TestBase {    @Test    public void test() {        // some test    }}public class Test2Class extends TestBase {    @Test    public void test() {        // some test    }}但是,每次执行时,这都会为其所有子类调用该setup方法。TestBase
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java