gpt4 book ai didi

java - @BeforeClass 方法不在每节课之前运行

转载 作者:行者123 更新时间:2023-11-28 21:36:01 26 4
gpt4 key购买 nike

我有两个类,每个类包含 2 个测试用例和 Test1 类,其中一个方法带有 @BeforeClass,按照我的说法,这个方法也应该在 Test2 类之前运行,但它没有运行。

    package WebPackage;

import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class Test1 {
@BeforeClass
public void test1() {

System.out.println("printing Before Class Method");
}
@Test (priority = 1)
public void test2() {

System.out.println("printing test_2");
}

@Test (priority = 3)
public void test3() {

System.out.println("printing test_3");
}
}

测试2

    package WebPackage;

import org.testng.annotations.Test;

public class Test2 {

@Test (priority = 1)
public void test4() {

System.out.println("printing test_4");
}

@Test (priority = 3)
public void test5() {

System.out.println("printing test_5");
}
}

XML文件


<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
<suite name="Menu">
<test name="WebPackage">
<classes>
<class name="WebPackage.Test1"/>
<class name="WebPackage.Test2"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->

控制台

[RemoteTestNG] detected TestNG version 7.0.0
printing Before Class Method
printing test_2
printing test_3
printing test_4
printing test_5

===============================================
Menu
Total tests run: 4, Passes: 4, Failures: 0, Skips: 0
===============================================

最佳答案

您可以使用 @BeforeClass 注释创建一个 BaseTest 类,然后每个测试类都使用 BaseTest 进行扩展。

基础测试:

public class BaseTest {
@BeforeClass
public void test1() {
System.out.println("printing Before Class Method");
}
}

测试 1:

public class Test1 extends BaseTest {
@Test (priority = 1)
public void test2() {
System.out.println("printing test_2");
}

@Test(priority = 3)
public void test3() {
System.out.println("printing test_3");
}
}

测试 2:

public class Test2 extends BaseTest {
@Test(priority = 1)
public void test4() {
System.out.println("printing test_4");
}

@Test (priority = 3)
public void test5() {
System.out.println("printing test_5");
}
}

输出:

printing Before Class Method
printing test_2
printing test_3
printing Before Class Method
printing test_4
printing test_5
===============================================
Menu
Total tests run: 4, Passes: 4, Failures: 0, Skips: 0
===============================================

关于java - @BeforeClass 方法不在每节课之前运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58746286/

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