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

来自不同类的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

  • 我正在尝试使用Intent打开文件。操作\u获取\u类似于此帖子的内容: Android打开一个文件与ACTION_GET_CONTENT结果到不同的Uri的 但是这里只是一个解决方案,如何使用不同的SDK/文件夹获取文件名,而不是不同的设备。获得Uri的意图也保持不变。 我想开门。png文件。 Uri.getPath()为两个设备(都. png文件存储在下载文件夹): 因此,问题是,如果我使用