当前位置: 首页 > 面试题库 >

jUnit 4中的TestSuite设置

姬飞飙
2023-03-14
问题内容

我设法找到了如何在jUnit 4中制作TestSuite的方法,但是我真的很想念v3可能将套件包装在TestSetup中的可能性。

关于如何为jUnit 4中的一组测试用例执行某些@ BeforeClass / @ AfterClass设置的任何想法吗?

@RunWith(Suite.class)
@Suite.SuiteClasses({Test1.class, Test2.class})
public class MyTestSuite {
    @BeforeClass public static void setUpClass() {
        // Common initialization done once for Test1 + Test2
    }
    @AfterClass public static void tearDownClass() {
        // Common cleanup for all tests
    }
}

不幸的是,以上代码片段无法正常工作。@BeforeClass仅适用于每个测试类别。


问题答案:

这是我所拥有的,运行正常。

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({ TestSuite1.class, TestSuite2.class })
public class CompleteTestSuite {

    @BeforeClass 
    public static void setUpClass() {      
        System.out.println("Master setup");

    }

    @AfterClass public static void tearDownClass() { 
        System.out.println("Master tearDown");
    }

}

这是我的测试套件1(对测试套件2进行相同的操作)。

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(value = Suite.class)
@SuiteClasses(value = { TestCase1.class })
public class TestSuite1 {}

这是我的测试课。同时创建testcase1和testcase2。

import static org.junit.Assert.assertEquals;

import org.junit.BeforeClass;
import org.junit.Test;

public class TestCase1 {

    @BeforeClass 
    public static void setUpClass() {      
        System.out.println("TestCase1 setup");
    }

    @Test
    public void test1() {
        assertEquals(2 , 2);
    }
}

您应该有5个类completesuite suite1 suite2 test1 test2

并确保在构建路径中有Junit。这应该运行!

这是输出

Master setup
TestCase1 setup
Master tearDown


 类似资料:
  • CNF Test Suite Main The CNF Test Suite is a tool that makes it possible to validate telco applications, aka Cloud Native Network Functions (CNFs), and the underlying Telecom platforms adherence to Clo

  • 我能够在我的测试套件 (TS1) 中运行一个测试用例拆解脚本,该脚本使用以下时髦脚本从另一个测试套件 (TS2) 运行测试步骤: 但是由于这个测试步骤应该为TS1中的所有测试用例运行,我需要为每个测试用例添加拆卸脚本,这有点麻烦。 我想知道我是否可以直接从testsuite teardown脚本中实现同样的事情,这将为我节省大量的脚本维护。 不幸的是,testrunner对象在testsuite级

  • 我已经筛选了一段时间堆栈上的答案,并且遇到了一些工作的例子,这些工作似乎完成了这一点,或者至少很接近。 在整个selenium套件中使用相同的web驱动程序 我所希望能够做的就是将selenium测试用例导出为JUnit4文件,将它们带入eclipse并根据需要进行修改,然后能够从测试套件中添加或删除它。当测试套件运行时,它应该打开一个Web驱动程序窗口并运行每个测试用例,就像它在基本Firefo

  • 问题内容: 我有两个要在Test Suite中一起运行的测试用例(两个不同的文件)。我可以仅通过“正常”运行python来运行测试,但是当我选择运行python单元测试时,它说运行0次测试。现在,我只是想至少进行一项测试以正确运行。 这是我的测试用例设置的示例 我该怎么做才能正确地完成这项工作? 问题答案: 您想使用测试服。因此,您无需调用unittest.main()。测试套件的使用应如下所示:

  • 我想使用maven命令从命令行运行一个特定的测试套件。我使用的是TestNg框架。 我的pom有以下配置设置: 在我正在运行的命令行上:

  • 我尝试了研究,但在ReadyAPI文档中找不到有效的类来完成这项工作。 我参考了下面的留档。https://support.smartbear.com/readyapi/apidocs/soapui/overview-summary.html