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

来自不同类的TestNGdependsOnMethods

王泓
2023-03-14
问题内容

当要依赖的测试与具有此批注的测试属于同一类时dependsOnMethods@Test批注的属性可以正常工作。但是,如果要测试的方法和依赖的方法位于不同的类中,则该方法不起作用。示例如下:

class c1 {
  @Test
  public void verifyConfig() {
    //verify some test config parameters
  }
}

class c2 {
  @Test(dependsOnMethods={"c1.verifyConfig"})
  public void dotest() {
    //Actual test
  }
}

有什么办法可以解决这个限制?一种简单的解决方法是在class c2该调用中创建测试c1.verifyConfig()。但这将是过多的重复。


问题答案:

将方法放在中group并使用dependsOnGroups

class c1 {
  @Test(groups={"c1.verifyConfig"})
  public void verifyConfig() {
    //verify some test config parameters
  }
}

class c2 {
  @Test(dependsOnGroups={"c1.verifyConfig"})
  public void dotest() {
    //Actual test
  }
}

建议验证@Before*中的配置,并在该处出现问题时抛出错误,以使测试无法运行。这样,测试可以只关注测试。

class c2 {
  @BeforeClass
  public static void verifyConfig() {
    //verify some test config parameters
    //Usually just throw exceptions
    //Assert statements will work
  }

  @Test
  public void dotest() {
    //Actual test
  }
}


 类似资料:
  • 我有一个场景,我已经在不同的节点上部署了4个Kafka消费者实例。我的主题有4个分区。现在,我想配置消费者,使他们都从主题的不同分区获取。 我知道一个事实,如果消费者来自同一个消费者组,他们会确保分区被平分。但在我的情况下,他们不在同一组。

  • 来自java教程 > 与实例的超类相同的包中的子类可以覆盖任何未声明为私有或最终的超类方法。 不同包中的子类只能重写声明为public或protected的非final方法。 但有什么区别?如果一个方法没有声明为private,那么它必须是public还是protected no?

  • 我有两个模块mod1和mod2从同一个父项目。mod2依赖于mod1,而mod2 pom.xml包含以下依赖关系 在mod1中,我在中定义了一个抽象测试类 在mod2中,我定义了一个继承这个类的测试类。 这些都是JUnit4测试。当我直接在Eclipse中运行测试时,它工作得很好。但是当我执行时不起作用,有编译错误显示maven在编译和测试MOD2时没有找到。 我试着在类似的问题上应用所说的:Pa

  • 我想使用ManagedBean类Users。java,创建两个具有不同作用域的bean实例。我尝试了两种方法: 1.为用户使用ManagedBean和SessionScope注释(这将创建一个带有会话范围的用户),并在faces-config.xml声明另一个来自用户的MenagedBean,带有请求范围。 注意:“组件”来自Spring框架,暂时可以忽略。 在faces-config.xml:

  • 我正在JDeveloper 11.1.1.4中开发一个JAX-WS Web服务,它应该使用以前部署到WebLogic服务器的JAR中的EJB。WebService项目和EJB项目都是我自己的代码,但我想分别部署它们。现在我正在试验这种设置。 在Examplejb项目中,我有一个实现远程接口示例的bean ExampleBean。 在该项目中,我有两个部署描述符(ejb-jar.xml和weblog

  • 问题内容: 我尝试使用JSON中的数据在AngularJS中创建动态表单。我有这个工作: HTML JS 这段代码有效,但是问题是 我不知道如何添加动态复选框或清单 以及如何在表单内部进行 验证 ,如下所示: .controller(’DynamicFormCtrl’,function($ scope){ 预先感谢您的关注。最好的祝福! 问题答案: 我已经解决了我的问题。 这是一个带有Angula