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

TestNG@Test(encocationCount=20)到一个类,其中@Test(DataProvider="一些列表")到一个方法

孔权
2023-03-14

我有一套针对JAVA项目的TestNG测试套件,其中有一个

@Test(DataProvider="ListOfObject")注释方法。它为方法提供了大约20行数据。(因此该方法运行了20次。)现在,我想运行这个类2小时(SOAK相关测试的一部分。)平均而言,该类单次运行大约需要10分钟。所以我正在考虑或运行整个类12次,因此考虑在类本身使用@Test(encocationCount=20)。有更好的主意吗?

共有2个答案

云宏儒
2023-03-14

您可以在方法中提取测试,然后创建具有相当高调用计数的测试方法。在该测试方法中,将时间与保存第一次运行时间戳的变量进行比较,如果它已运行20分钟以上,则跳过测试。

拓拔弘厚
2023-03-14

找到了一个令人尴尬的简单解决方案:重复整个测试套装,如下所示

@Test
public void RepeatTestSuite() {
    long startTime = new Date().getTime();
    while(!isTestFinished(startTime)) {

          List<String> suites = new ArrayList<String>();
             suites.add("./SOAK_all41.xml"); //path of .xml file to be run-provide complete path

             TestNG tng = new TestNG();
             tng.setTestSuites(suites);

             tng.run(); //run test suite
        }
 类似资料:
  • 问题内容: 我使用了。 是否可以将两个数据提供程序逐步赋予 相同的 测试功能? 我可以将两个提供程序合而为一,但这不是我想要的。 我需要(与本示例不同)独立生成数据。 我想让两个提供商都接受相同的测试。这可能吗? 问题答案: 否,但是没有什么可以阻止您将这两个数据提供程序合并为一个,并指定其中一个作为您的数据提供程序:

  • 我用TestNG创建了一个Selenium框架。在这个@Data提供者中包含一组代码,这些代码从excel中读取数据,并以数组形式将此值返回给@test。 因为登录测试用例有两个输入,所以方法login有两个属性。同样,若寄存器测试用例有5个输入,那个么寄存器方法将有5个属性。但我想以某种方式创建一个标准方法,这样当我从@dataprovider返回数组时。然后@test方法应该动态读取值,而不是

  • 本文向大家介绍Mysql将一个表中的某一列数据复制到另一个表中某一列里的方法,包括了Mysql将一个表中的某一列数据复制到另一个表中某一列里的方法的使用技巧和注意事项,需要的朋友参考一下 mysql复制表中的一列到另一个表中 有时候,我们需要复制某个字段一整列的数据到另外一个新的字段中,这很简单,SQL可以这么写: 大概写法如下: 有Navicat等工具更好,可以直接选中一列数据,拷贝粘贴到你需要

  • 我在课堂上创建了两个列表。 其中一个称为预算,包含元素section、month和sum,返回以下内容: [Budzet{sec='AGD/RTV',月='01',和=96},Budzet{sec='AGD/RTV',月='03',和=30},Budzet{sec='食品',月='04',和=23},Budzet{sec='游戏',月='09',和=1084}...] 这是SQL查询 第二个是元素

  • 我已经阅读了很多stackoverflow的页面,但是我无法将我的ArrayList复制到另一个类中。下面是一个场景,我正在构建一个快速的图书储蓄应用程序,类似于图书馆中的应用程序,但更简单(用于学校)。 我有我的主库类(带有main),它为主菜单/选项设置了swing。 我有一个带有新书构造函数的book类,如下所示: 在这个类中,我在确认按钮上添加了一个,以确认上要作为对象添加的输入,如下所示

  • 问题内容: [‘a’,’a’,’b’,’c’,’c’,’c’] 至 和 问题答案: x=[‘a’,’a’,’b’,’c’,’c’,’c’] >>> map(x.count,x) [2, 2, 1, 3, 3, 3] >>> dict(zip(x,map(x.count,x))) {‘a’: 2, ‘c’: 3, ‘b’: 1} >>>