gpt4 book ai didi

junit tearDownClass() 与 tearDown()

转载 作者:行者123 更新时间:2023-12-01 08:59:24 30 4
gpt4 key购买 nike

tearDownClass() 和 tearDown() 方法有什么区别?

我在哪里可以找到两者的文档。

JUnit 的 junit.org 文档仅列出了 tearDown() 而不是 tearDownClass():
http://www.junit.org/apidocs/junit/framework/TestCase.html#setUp ()

最佳答案

使用带有注解@AfterClass 和@After 的API 的tearDownAfterClass() 和tearDown()。
tearDownAfterClass() 中的代码只会在所有用 Junit 编写的单元测试执行完毕后执行一次。可以在此处编写清理代码以在执行所有测试后释放资源。
tearDown() 中的代码将在执行每个测试场景后执行。

这些 API 是 JUnit 4 的一部分。

下面是一个示例代码来理解这些 API 的调用:

公共(public)类 TestJUnit {

@BeforeClass
public static void setUpBeforeClass() throws Exception {
System.out.println("Executing a JUNIT test file");
}

@AfterClass
public static void tearDownAfterClass() throws Exception {
System.out.println("Execution of JUNIT test file done");
}

@Before
public void setUp() throws Exception {
System.out.println("Executing a new test");
}

@After
public void tearDown() throws Exception {
System.out.println("Execution done");
}

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

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

}

输出:
执行 JUNIT 测试文件
执行新测试
测试1
执行完成
执行新测试
测试2
执行完成
JUNIT测试文件的执行完成

API 的 setUpBeforeClass() 和 setUp() 分别带有 @BeforeClass 和 @Before 注释,其行为如下:

setUpBeforeClass - 这里有初始化代码很有用。用这种方法编写的代码只会执行一次,并且会在执行各个测试之前发生。

setUp() - 此 block 中的代码将在每个单独的测试之前执行。

关于junit tearDownClass() 与 tearDown(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7070430/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com