当前位置: 首页 > 知识库问答 >
问题:

如果BeforeSuite没有运行,则跳过测试

苗森
2023-03-14

我正在Intellij(最新)中使用TestNG运行器运行测试。我不使用自定义的testng.xml文件。

类a:不包含实际测试,只包含@beforeSuite(groups=“groupa”)@afterSuite(groups=“groupa”)注释方法,用于设置我想在实际测试类中使用的静态变量。

类B:包含一个@test(dependsOnGroups=“groupa”)注释测试方法。

我的问题是:似乎没有。为什么?

谢谢!

共有1个答案

计承德
2023-03-14

如果您不使用testng.xml IntelliJ也没关系。

让我们假设您有:

public class ClassA {

    @Test(dependsOnGroups = "groupA")
    public void test1(){
        System.out.println("test in groupA");
    }
}

public class ClassB {

    @BeforeSuite(groups = "groupA")
    public void beforeSuite() {
        System.out.println("before suite in group A");
    }

    @AfterSuite(groups = "groupA")
    public void afterSuite() {
        System.out.println("after suite in group A");
    }

}

如果尝试运行特定的方法、类或套件,则执行execption将失败,这是因为生成的xml将是:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Default Suite">
  <test name="TestNG-Examples">
    <classes>
      <class name="suite.ClassA">
        <methods>
          <include name="test1"/>
        </methods>
      </class> <!-- suite.ClassA -->
    </classes>
  </test> <!-- TestNG-Examples -->
</suite> <!-- Default Suite -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Custom suite" parallel="none">
  <test verbose="1" name="TestNG-Examples">
    <groups>
      <run>
        <include name="groupA"/>
      </run>
    </groups>
    <classes>
      <class name="suite.ClassA"/>
      <class name="suite.ClassB"/>
    </classes>
  </test> <!-- TestNG-Examples -->
</suite> <!-- Custom suite -->
 类似资料:
  • 问题内容: 我目前正在轮询服务器以检查新数据,然后相应地在AngularJS应用中更新模型。他大概就是我在做什么: 这可以正常工作,但是大多数请求都不会导致任何新数据或数据更改,但是$ http服务并不真正知道/关心它,仍然会触发摘要周期。我觉得这是不必要的(因为摘要循环是应用程序中最重的操作之一)。 有什么办法仍然可以使用$ http,但是如果没有任何变化,则以某种方式跳过摘要? 一种解决方案是

  • 在Spring Boot 1.5.13项目中,我有一个带有一些@NotEmpty字段的@Configuration对象: 以及从应用程序加载它的@ConfigurationProperties类。yml: 配置文件中有几个“测试”记录。 spring的默认行为是,如果验证失败,比如其中一条记录缺少,则错误会阻止应用程序启动。 相反,我希望记录并跳过无效记录,以便应用程序继续启动,只加载有效记录,不

  • 我正在运行来生成诱惑报告,但当没有测试运行时,构建失败(因为还没有与给定测试组匹配的测试): [ERROR]无法执行目标org.apache.Maven.plugins:maven-site-plugin:3.3:项目登录时的site(default-site)-tests:页面生成过程中出错:呈现Maven报告时出错:无法生成报告:InvocationTargetException:无法找到任何

  • 问题内容: 是否可以跳过测试目录。例如,鉴于下面的结构,是否可以测试mypackage,mypackage / other和mypackage / net,但不能测试mypackage / scripts?我的意思是无需为每个脚本编写go test命令(例如,去测试;去测试网;去测试其他) 问题答案: Go test带有要在命令行上测试的软件包列表(请参阅参考资料),因此您可以通过一次调用来测试任

  • 这个问题可能是关于bash的,也可能是关于git的。 如果没有什么要提交的,我该如何运行命令?我做了以下操作,但它运行了命令,即使没有什么要提交的: 来自python背景,我认为如果

  • 我如何用java8流式API表达这一点? 我想对流中的每个项执行itemcumer。如果没有要执行的项目,则清空操作。 我当然可以写这样的东西: 但我更愿意避免任何s。 我还考虑过在peek方法中设置一个标志,但该标志是非最终的,因此是不允许的。使用布尔容器似乎也是一种太多的变通方法。