java - 动态设置测试注释
问题描述
我想创建一个数据驱动的框架,测试将基于 excel 中的数据执行。
目前,当我执行测试时,所有结果仅在一个 testName 下。
我正在寻找的是每次迭代都应该被视为单独的测试。
解决方案
无法在运行时向现有类添加注释;请参阅在运行时添加 Java 注释。该问答建议使用Proxy
to 或适配器来处理此问题,但我认为该方法不适用于 TestNG 测试。
您可能需要采取不同的方法。 TestNG 文档的第 5.14 节有一个示例,展示了如何以编程方式在测试类中运行测试:
TestListenerAdapter tla = new TestListenerAdapter(); TestNG testng = new TestNG(); testng.setTestClasses(new Class[] { Run2.class }); testng.addListener(tla); testng.run();
此示例创建一个
TestNG
对象并运行测试类 Run2。它还添加了一个TestListener
. 您可以使用适配器类org.testng.TestListenerAdapter
或org.testng.ITestListener
自己实现。此接口包含各种回调方法,可让您跟踪测试何时开始、成功、失败等......
然后5.17 节解释了如何使用方法拦截器来按摩要调用的方法列表。最后,第 5.18 节解释了告诉 TestNG 使用诸如方法拦截器之类的侦听器的各种方法。
如果您将这些与从 Excel 电子表格中提取数据的代码结合起来,并以编程方式运行相关的测试类或测试方法。
推荐阅读
- android - 如何将滚动视图放在另一个滚动视图中
- tensorflow - tensorflow.compat.v1.disable_v2_behavior() 应该对使用 Keras API 的训练产生什么影响?
- c# - UWP RadExpanderControl 正在绑定 ContentTemplate 但不是 ExpandableContentTemplate
- chromium - Bootstrap Dual Listbox - 在基于 Chromium 的移动浏览器中,两个列表都叠加有“0 selected”
- ios - 如何从 UIDatePicker:Time 读取值并将其转换为时间戳?
- powershell - 通过使用 Read-Host 在 PowerShell 中将用户输入限制为电子邮件地址或域\ID 来执行直到循环
- unity3d - C# 用于 Unity 脚本,关于变量范围的最佳实践
- powershell - 错误:Send-MailMessage 附件找不到文件
- jwt - 如何动态设置 JwtBearerOptions?
- winapi - MFC:有关如何在使用 COleDataSource::DoDragDrop() 后进行清理的冲突信息