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

TestNG@AfterMethod with

戚令秋
2023-03-14

我在使用TestNG时发现,当我使用DataProvider时,@aftermethod&@BeforeMethod会被多次调用。在使用从DataProvider传递的所有参数执行@test之后,是否可能只调用一次方法。比如,在DataProvider调用了“Test PrimenumberChecker”5次之后,我们只能调用一次“Drew Down”方法

import org.testng.Assert;    
import org.testng.annotations.BeforeMethod;    
import org.testng.annotations.DataProvider;    
import org.testng.annotations.Test;    

public class ParamTestWithDataProvider1 {    
    private PrimeNumberChecker primeNumberChecker;    
    private static final Logger logger = Logger.getLogger(ParamTestWithDataProvider1.class);    

    @BeforeMethod    
    public void initialize() {    
        logger.info("Before Method Fired !! - " );    
        primeNumberChecker = new PrimeNumberChecker();    
    }    

    @@AfterMethod    
    public void tearDown() {    
        logger.info("After Method Fired !!  " );      
    }    

    @DataProvider(name = "test1")    
    public static Object[][] primeNumbers() {    
        return new Object[][] { { 2, true }, { 6, false }, { 19, true },    
            { 22, false }, { 23, true } };    
    }    

    @Test(dataProvider = "test1")    
    public void testPrimeNumberChecker(Integer inputNumber,    
        Boolean expectedResult) {    
    logger.info(inputNumber + " " + expectedResult);    
    Assert.assertEquals(expectedResult,    
            primeNumberChecker.validate(inputNumber));    
    }    
}

共有1个答案

濮阳默
2023-03-14

一种方法是使用@beforeGroups和@afterGroups。将测试归入一个组,然后使用before/after groups注释对测试进行一次设置/拆卸。

 类似资料:
  • 我想要一个testNG/cucumber跑步者 我有一系列非Cucumber测试,使用已经使用TestNG框架编写的测试,我希望其中也包含Cucumber代码。 有人想出聪明的办法吗?

  • JUnit 框架是 Java 语言单元测试当前的一站式解决方案。这个框架值得称赞,因为它把测试驱动的开发思想介绍给 Java 开发人员并教给他们如何有效地编写单元测试。但是,在过去的几年中,JUnit 的改进不大;所以,为当今复杂的环境编写测试已经变成一个越来越困难的任务,即 JUnit 必须与其他一些补充性测试框架集成起来。而 TestNG 是一个测试 Java 应用程序的新框架。TestNG

  • 问题内容: 在工作中,我们目前仍在使用JUnit 3运行测试。我们一直在考虑切换到JUnit 4来编写 新的 测试,但是一段时间以来我一直在关注TestNG。大家都对JUnit 4或TestNG有什么经验,对于大量测试似乎更有效?灵活地编写测试对我们也很重要,因为我们的功能测试涵盖广泛的方面,并且需要以多种方式编写才能获得结果。 旧测试不会被重写,因为它们做得很好。我希望在新的测试中看到的是,可以

  • 主要内容:TestNG是什么?,TestNG教程目录测试是检查应用程序的功能的过程是否按要求工作,在开发人员层面进行单元测试,在采取适当措施来测试每一个实体(类或方法)以确保最终产品符合要求。单元测试是非常必要的,这是软件公司向他们的客户提供高质量的软件产品必要前提。 JUnit让开发人员了解测试的实用性,尤其是在单元测试这一模块上比任何其他测试框架都要简单明了。凭借一个相当简单,务实,严谨的架构,JUnit已经能够“感染”了一大批开发人员。 有关

  • 为QAFTestSteps运行testng配置时,我遇到以下错误: 显示错误 步骤定义 } 功能文件 测试执行配置

  • TestNG,测试方法参数数据绑定类库。支持 CSV, Properties, Text 和 XML。 为所有原始 Java 数据类型提供绑定,包括字符串及其列表,Java Beans,Java Beans 列表和及其枚举。 由于框架是基于插件的对新数据源的支持,可以通过实现一个新的插件轻松添加。 运行截图