TestNG BeforeMethod 与组

2024-01-10

我想知道@BeforeMethod与组的用法。在http://testng.org/javadoc/org/testng/annotations/BeforeMethod.html http://testng.org/javadoc/org/testng/annotations/BeforeMethod.html它说:

alwaysRun:如果设置为 true,则无论属于哪个组,都会运行此配置方法。

所以我有以下课程:

public class BeforeTest {
private static final Logger LOG = Logger.getLogger(BeforeTest.class);
@BeforeMethod(groups = {"g1"}, alwaysRun = false)
public void setUpG1(){
    sleep();
    LOG.info("BeforeMethod G1");
}

@Test(groups = {"g1"})
public void g1Test(){
    sleep();
    LOG.info("g1Test()");
}

@BeforeMethod(groups = {"g2"}, alwaysRun = false)
public void setUpG2(){
    sleep();
    LOG.info("BeforeMethod G2");
}

@Test(groups = {"g2"})
public void g2Test(){
    sleep();
    LOG.info("g2Test()");
}


private void sleep(){
    try {
        Thread.sleep(500);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}
}

哪个输出:

BeforeMethod G1
BeforeMethod G2
g1Test()
BeforeMethod G1
BeforeMethod G2
g2Test()

除了我认为 awaysRun 默认为 false 的事实之外,任何人都可以向我解释为什么在每次测试之前都会调用两个 before 方法,而忽略组吗?像 @Test(skipBeforeMethod = "setUpG1") 这样的东西也可以工作。

我正在使用 IntelliJ IDEA CE 10.5.2。我也用 gradle 1.0-milestone-3 运行它。


那是因为groupsflag 仅指示方法是否属于组。当启用该组时,它将始终执行,即在所有测试方法之前执行,无论测试方法所属的组如何。默认情况下,所有组均已启用。

如果您想让该方法仅针对某些组的测试执行,则需要指定onlyForGroups.

public class BeforeTest {

    private static final Logger LOG = Logger.getLogger(BeforeTest.class);

    @BeforeMethod(onlyForGroups = { "g1" })
    public void setUpG1() {
        sleep();
        LOG.info("BeforeMethod G1");
    }

    @Test(groups = { "g1" })
    public void g1Test() {
        sleep();
        LOG.info("g1Test()");
    }

    @BeforeMethod(onlyForGroups = { "g2" }, alwaysRun = false)
    public void setUpG2() {
        sleep();
        LOG.info("BeforeMethod G2");
    }

    @Test(groups = { "g2" })
    public void g2Test() {
        sleep();
        LOG.info("g2Test()");
    }

    private void sleep() {
        try {
            Thread.sleep(500);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

输出是

BeforeMethod G1
g1Test()
BeforeMethod G2
g2Test()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TestNG BeforeMethod 与组 的相关文章

  • 按下按钮并在java中的新窗口中打开文件

    我创建了一个 JFrame 并放置了一个文本字段和按钮 在文本字段中我放置了从文本文件读取的名称 我知道我想单击按钮并打开一个已知窗口 我想在其中放置名称 其他信息来自同一个文件 这是我的代码 这是我的主框架 package Fronten
  • 使用 Tabula 通过 Python 读取 pdf 时出现 Java 错误

    我已经安装了 tabula 库 用于使用 python 将 pdf 读取到 pandas 数据框中 但是当我运行代码时 import tabula df tabula read pdf sample1 pdf pages 1 我得到了例外
  • 有没有创建 Cron 表达式的 Java 代码? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要一个 Java 代码来根据用户输入创建一个 cron 表达式 用户输入是时间 频率和执行次数 只需从评论中添加 自己创建 即可
  • 如何在java中将数组值排序为循环格式?

    我的数组值如下 String value 1 2 3 4 5 6 7 8 9 10 假设如果我将值 5 传递给 tat 数组 它应该按如下顺序排序 5 6 7 8 9 10 1 2 3 4 怎么办 有人帮忙吗 感谢你 你需要的就是所谓的轮换
  • 垃圾收集器如何在幕后工作来收集死对象?

    我正在阅读有关垃圾收集的内容 众所周知 垃圾收集会收集死亡对象并回收内存 我的问题是 Collector 如何知道任何对象已死亡 它使用什么数据结构来跟踪活动对象 我正在研究这个问题 我发现GC实际上会跟踪活动对象 并标记它们 每个未标记的
  • 与 Eclipse 中的 Java Content Assist 交互

    作为我的插件项目的一部分 我正在考虑与 Eclipse 在 Java 文件上显示的内容辅助列表进行交互 我正在尝试根据一些外部数据对列表进行重新排序 我看过一些有关创建新内容辅助的教程 但没有看到有关更改现有内容辅助的教程 这可能吗 如果是
  • eclipse行号状态行贡献项是如何实现的?

    我需要更新状态行编辑器特定的信息 我已经有了自己的实现 但我想看看 eclipse 贡献项是如何实现的 它显示状态行中的行号 列位置 谁能指点一下 哪里可以找到源代码 提前致谢 亚历克斯 G 我一直在研究它 它非常复杂 我不确定我是否了解完
  • 如何在 JPQL 或 HQL 中进行限制查询?

    在 Hibernate 3 中 有没有办法在 HQL 中执行相当于以下 MySQL 限制的操作 select from a table order by a table column desc limit 0 20 如果可能的话 我不想使用
  • 从 MATLAB 调用 Java?

    我想要Matlab程序调用java文件 最好有一个例子 需要考虑三种情况 Java 内置库 也就是说 任何描述的here http docs oracle com javase 6 docs api 这些项目可以直接调用 例如 map ja
  • 在 Java 中如何找出哪个对象打开了文件?

    我需要找出答案哪个对象在我的 Java 应用程序中打开了一个文件 这是为了调试 因此欢迎使用工具或实用程序 如果发现哪个对象太具体了 这class也会很有帮助 这可能很棘手 您可以从使用分析器开始 例如VisualVM http visua
  • 如何检查某个元素是否存在于一组项目中?

    In an ifJava中的语句如何检查一个对象是否存在于一组项目中 例如 在这种情况下 我需要验证水果是苹果 橙子还是香蕉 if fruitname in APPLE ORANGES GRAPES Do something 这是一件非常微
  • 将非 Android 项目添加到 Android 项目

    我在 Eclipse 中有三个项目 Base Server 和 AndroidClient Base和Server是Java 1 7项目 而AndroidClient显然是一个android项目 基础项目具有在服务器和 Android 客户
  • Android 无法解析日期异常

    当尝试解析发送到我的 Android 客户端的日期字符串时 我得到一个无法解析的日期 这是例外 java text ParseException 无法解析的日期 2018 09 18T00 00 00Z 位于 偏移量 19 在 java t
  • 如何在 ant 中为 junit 测试设置 file.encoding?

    我还没有完全完成file encoding 和 ant https stackoverflow com questions 1339352 how do i set dfile encoding within ants build xml
  • 如何使用 JMagick 转换色彩空间?

    如何使用 JMagick API 转换色彩空间 例如 CMYK gt RGB 和 RGB gt CMYK None
  • Java继承,扩展类如何影响实际类

    我正在查看 Sun 认证学习指南 其中有一段描述了最终修饰符 它说 如果程序员可以自由地扩展我们所知的 String 类文明 它可能会崩溃 他什么意思 如果可以扩展 String 类 我是否不会有一个名为 MyString 的类继承所有 S
  • 在 Java 中获取并存储子进程的输出

    我正在做一些需要我开始子处理 命令提示符 并在其上执行一些命令的事情 我需要从子进程获取输出并将其存储在文件或字符串中 这是我到目前为止所做的 但它不起作用 public static void main String args try R
  • 手动设置Android Studio的JDK路径

    如何为 Android Studio 使用自定义 JDK 路径 我不想弄乱 PATH 因为我没有管理员权限 是否有某个配置设置文件允许我进行设置 如果您查看项目设置 您可以从那里访问 jdk 在标准 Windows 键盘映射上 您可以在项目
  • Hibernate 本机查询 - char(3) 列

    我在 Oracle 中有一个表 其中列 SC CUR CODE 是 CHAR 3 当我做 Query q2 em createNativeQuery select sc cur code sc amount from sector cost
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应

随机推荐

  • 为什么我们会在每台计算机安装中收到非广告快捷方式的 ICE57 错误?

    此问题询问 ICE57 验证器之一是否会创建误报错误报告 我正在使用 WIX 3 9 生成安装程序 我想要使 用非广告快捷方式的每台计算机安装 此 WXS 示例安装一个文本文件和打开该文本文件的快捷方式
  • MongoDB $set 不更新记录

    我正在使用 PHP PECL 扩展尝试 MongoDB 但是我很难让某个更新查询正常工作 我在 SO 上四处寻找答案 但运气不佳 我创建了一个基本集合 m new Mongo collection m gt testdb gt testco
  • 如何在通知视图中制作倒计时器?

    我想出了如何使用来制作自定义视图RemoteViews http developer android com reference android widget RemoteViews html班级 我也知道怎么用Chronometer ht
  • 一个大的 javascript 文件还是多个较小的文件? [复制]

    这个问题在这里已经有答案了 好的 我有一个大小合理的项目 其中使用 jquery 主干和其他几个 javascript 库 我想知道是否应该为我的 javascript 库准备一个文件 为我的自定义代码准备另一个文件 或者一堆单独的 jav
  • HTTP/1.0 还在使用吗?

    比如说写一个HTTP服务器 客户端 支持HTTP 1 0有多重要 如今它还在任何地方使用吗 Edit 我不太关心 HTTP 1 0 的有用性 重要性 而是关心它的数量software实际上将其用于现实世界中的非内部 例如 单元测试是内部使用
  • 如何在Python中的段落中加入换行符

    我有一些采用以下格式的文本 r n 1 r n par1 par1 par1 r n r n par1 par1 par1 r n r n 2 r n r n par2 par2 par2 我想做的是将它们连接成段落 以便最终结果是 1 p
  • 如何在 React 组件中使用 @types/redux-form 定义的类型与 Field 和 FieldArray?

    我正在使用 React Redux Redux Form 和 TypeScript 开发应用程序 我正在努力使用包 types redux form 定义的类型 绝对打字 https github com DefinitelyTyped D
  • MailChimp 内容阻止拖放不起作用

    我必须在 MailChimp 服务中编辑现有的自定义模板 其中内容块的拖放功能不起作用 模板有很多嵌套表 因此我联系了他们的支持人员 他们的回复是某些块是嵌套的 可能会导致冲突 为了制作简单的测试用例场景 我删除了大部分代码 样式 只留下一
  • Onclick普通按钮正在提交表单

    SCENARIO 我有一个java带有长表单的 JSP 视图 这工作得很好 我可以通过在任何输入字段中按 Enter 键或使用提交按钮来提交表单 新要求 在一部分中 我必须添加按钮来替换一些
  • WPF System.ComponentModel.Win32Exception(0x80004005):无效的窗口句柄

    我在 WPF 上收到以下错误 我正在使用 MVVM 数据绑定到窗口上的 DataContext CollectionViewSources 视图模型和视图中有太多代码需要发布 但我想知道在哪里可以找到它 因为没有出现行号 该窗口使用 WPF
  • 拒绝浏览器通知权限

    根据规格 https developer mozilla org en US docs Web API Notification requestPermission 您可以提示浏览器允许用户授予或拒绝浏览器通知 一旦用户授予权限 是否也可以
  • 防止负载均衡器在长时间运行期间超时

    我使用 ASP NET MVC 4 接受最大 30 mb 的视频上传 视频上传到网站后 视频就会使用 HttpWebRequest 发布到第三方 Web 服务 向第三方服务的上传必须完成并返回响应 然后我的网站才能向浏览器返回响应 在 Ra
  • 编写我自己的 init 可执行文件

    我想创建自己的 init 并为下雪的周末带来一些 Linux 乐趣 我知道 内核使用 rootfs 启动 并在加载驱动程序和安装磁盘后将流程提供给 sbin init 我下载了ubuntu云镜像并尝试使用kvm直接启动内核 如下所示 kvm
  • Python Pandas:将具有唯一值的行连接起来

    在 Python pandas 中 我有一个大数据框 如下所示 df pd DataFrame a foo bar 3 b foo2 bar2 3 c foo3 bar3 3 d q w e r t y e q2 w2 e2 r2 t2 y
  • NHibernate 2.1 和 Oracle 10g 客户端出现错误

    我需要 NHibernate 2 1 才能与 Oracle 数据库对话 我被要求使用 Oracle 10g 客户端 尝试构建会话工厂时出现以下错误 无法转换类型的对象 Oracle DataAccess Client OracleConne
  • 如何将事件侦听器添加到对象数组

    我有一个对象数组 具体来说easelJS图片 像这样 var imageArray new Array gShape new createjs Shape shape is something imageArray push gShape
  • Cassandra 牺牲了 CAP 定理的哪一部分?为什么?

    有一个很棒的演讲 https github com strangeloop StrangeLoop2013 blob master slides sessions Kingsbury PartitionsForEveryone pdf关于在
  • 使用窗口事件调整画布元素大小

    我正在使用打字稿来绘制画布元素 我想让我的画布元素响应屏幕尺寸 这样我就可以将画布大小与父 div 元素相匹配 我试过用这个删除画布中的大小并在 css 中提供它 但这没有帮助 因为我有两个固定元素 我找到了这个已有 8 年历史的解决方案画
  • 函数组合与函数应用

    谁能给出函数组合的例子吗 这就是函数复合运算符的定义 b gt c gt a gt b gt a gt c f g x gt f g x 这表明它需要两个函数并返回一个函数 但我记得有人用英语表达了逻辑 例如 男孩是人类 gt 阿里是男孩
  • TestNG BeforeMethod 与组

    我想知道 BeforeMethod与组的用法 在http testng org javadoc org testng annotations BeforeMethod html http testng org javadoc org tes