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

是否可以对通过@dataprovider中完整数据集的完整数据集运行测试,并报告整个测试的结果?

仰经武
2023-03-14

我有一个testNg类,在这个类中,我必须对一组完整的数据运行相同的测试。我可以在@dataprovider中提供每个数据行,但是,每个数据行的结果将显示在报告文件中。就我而言,我必须测试数百万数据。这将导致报告非常混乱。下面是一个示例

TestData:我的测试数据是一个包含多个JSON行的文件,其中每个JSON对象都应该有一个名称和职业。

{"name":"Jim", "occupation":"racing"} 
{"name":,} 

我的测试NG类将如下所示:

public class TestJSon {
    @DataProvider("lineProvider")
    public Object[][] lineProvider() {
        // return JSON lines
    }

    @Test (dataProvider = "lineProvider")
    public void testJsonLines(String name, String occupation) {
        // Test name and occupation
    }
}

现在输出报告将包含:

为名为Jim的行传递的testJsonLines为{“name”:行失败,}testJsonLines为{}行失败}testJsonLines为{“name”:“Jack”,“occulation”:}行失败

我想要一份简单打印的报告:

对于第2、3和4行中的输入,testJSON输入失败

总而言之,我试图使我的报告组包含所有数据的运行结果,而不是打印每个数据。有没有办法做到这一点?

共有1个答案

宋腾
2023-03-14

我也有类似的问题。我们测试了数以百万计的数据-数据提供者方法要么导致outofmemory错误,要么报告不容易查看。

我最终拥有了自己的IReporter实现,它将结果写入excel工作表,允许我进行筛选或进行任何自定义。当然,这必须与其他监听器(ITestListener/IInvokedMethodListener)结合起来,以您想要的方式捕获结果。

在我的例子中,我也使用我自己的并行性来克服有这么多数据的内存不足错误——我通常在90000个测试数据时遇到它。

 类似资料:
  • 我想使用maven的surefire report插件生成一个报告,它将为我提供所有测试的详细报告,这些测试在每次测试运行期间都会记录日志事件,而不仅仅是测试失败的事件。这也将为我提供测试失败的完整上下文。 这是我的pom.xml文件: 我在这里使用mvn surefire report:report生成报告。所以我想知道我是否可以做其他事情,以便查看测试运行期间发生的详细报告?

  • 本文向大家介绍Django 测试-一个完整的例子,包括了Django 测试-一个完整的例子的使用技巧和注意事项,需要的朋友参考一下 示例 假设您已阅读有关启动新Django项目的文档。让我们假设您项目中的主应用名为td(测试驱动的缩写)。要创建您的第一个测试,请创建一个名为test_view.py的文件,然后将以下内容复制粘贴到其中。 您可以通过以下方式运行此测试 它自然会失败!您将看到类似以下的

  • 设置: 我有一门考试课。 这个测试类有几个带有注释的方法。 数据中有7条记录(行)。 所有测试都是顺序的 问题: 我需要用一行数据运行所有方法(测试),但到目前为止,它会在所有行上重复相同的测试,即如果有7行数据,那么测试1将运行7次,然后第二次测试将开始,第二次测试也会如此,以此类推。 我希望对第1行运行所有测试,然后对第2行再次运行所有测试。 我正在使用ApachePOIAPI从ms exce

  • 综述 许多应用程序被设计为通过部分隐藏输入表单来确定用户当前状态而展示不同的页面。但是,在许多情况下,有可能通过代理提交此类隐藏表单的值。在这些案例中,服务器端控制措施必须足够健壮来确保正确的业务逻辑数据。 此外,应用程序必须不依赖于不可编辑元素,下拉框列表或者业务逻辑处理过程的隐藏表单域,因为这些只是在浏览器的环境中不可编辑。用户可以使用代理工具来编辑这些参数并尝试操纵业务逻辑。如果应用程序对外

  • 主要内容:1 完整数据绑定的示例完整数据绑定是指将JSON映射到任何Java对象。 1 完整数据绑定的示例 1.1 编写核心类 MainApp: 1.2 运行测试 项目根目录下生成student.json文件,内容如下:  

  • 问题内容: 假设您有一个外部进程将文件写入某个目录,并且有一个单独的进程定期尝试从该目录读取文件。要避免的问题是读取文件,表明其他进程当前正在写出该文件,因此该文件是不完整的。当前,读取的进程使用最小文件期限计时器检查,因此它将忽略所有文件,除非文件的最后修改日期早于XX秒。 我想知道是否有更干净的方法来解决此问题。如果文件类型未知(可能有多种不同的格式),是否存在某种可靠的方法来检查文件头以获取