JUnit 4 与 TestNG - 更新 2013 - 2014 [已关闭]

2024-04-06

JUnit 4 和 TestNG 曾经具有可比性。这两个测试框架有何优缺点?


我今天比较了 TestNG 和 JUnit4,以我有限的测试框架经验可以指出的主要优点是,TestNG 有一种更优雅的方式来使用数据提供者概念处理参数化测试。

据我所知,使用 JUnit4,您必须为要测试的每组参数创建一个单独的测试类(使用@RunWith(Parameterized.class))。使用 TestNG,您可以在单个测试类中拥有多个数据提供者,因此您也可以将单个类的所有测试保留在单个测试类中。

到目前为止,这是我可以指出的 TestNG 相对于 JUnit4 的唯一优势。

Intellij IDEA 包含对 TestNG 和 JUnit 的开箱即用支持。然而,Eclipse 仅支持开箱即用的 JUnit,并且需要安装 TestNG 插件才能使其工作。

然而,我在 TestNG 中遇到的一个更烦人的问题是你的测试类需要扩展PowerMockTestCase如果您使用 PowerMock 来模拟测试中的依赖项。显然,在通过特殊方法或通过使用 PowerMock 时,有一些方法可以配置您的测试框架需要了解的对象工厂testng.xml套件定义,但目前这些似乎已被打破。我不喜欢让测试类扩展测试框架类,这看起来很黑客。

如果您不使用 PowerMock,这当然不是问题,但总而言之,我的印象是 JUnit4 得到了更好的支持。

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

JUnit 4 与 TestNG - 更新 2013 - 2014 [已关闭] 的相关文章

随机推荐

  • Rplot() 或 ggplot2() 中的对数 y 轴刻度线

    我看到了理想的刻度线结构log y 情节在这张纸 http arxiv org pdf cond mat 0412004 图3b 3c 3d 它具有不带标签的短的 对数间隔的小刻度线 以及带标签的长的 对数间隔的主刻度线 有谁知道如何实现这
  • 如何在 Go 中验证电子邮件地址

    我检查了 StackOverflow 但找不到任何可以回答的问题如何用 Go 语言验证电子邮件 经过一番研究 我根据自己的需要找出并解决了这个问题 我有这个regex and 转函数 效果很好 import fmt regexp func
  • jquery如何向图像添加图钉并将位置保存到SQL

    如何固定图像并保存固定位置 I found 这个插件 http jsfiddle net uKkRh 1 但我不知道如何保存这些引脚的位置 这个想法就像谷歌地图一样 用户可以在其中放置任意数量的图钉 并将这些图钉位置保存到数据库中 下次登录
  • 如何从命令行列出 Github 包注册表存储库中的所有包?

    假设我们有 Github 包注册表存储库https maven pkg github com someOrganization https maven pkg github com someOrganization 如何将此存储库中的所有包
  • 加快随机森林速度的建议

    我正在做一些工作randomForest包 虽然效果很好 但可能很耗时 有人对加快速度有什么建议吗 我使用的是带有双核 AMD 芯片的 Windows 7 盒子 我知道 R 不是多线程 处理器 但很好奇是否有任何并行包 rmpi snow
  • 如何更改 Gstreamer 插件的等级?

    我已经下载并编译了 vaapi 插件集 对于某些特定情况它工作得很好 但它也破坏了我现有的许多管道 我想先修改 Gstreamer 以使用其他解码器 有没有办法在不修改原始源的情况下改变 Gstreamer 插件的等级 我在 Gstream
  • JSF 2.0 中的显式 url 重定向

    我下面有以下两页 你好 xhtml 由 hello jsf url 呈现
  • 访问 MS Access 应用程序中的原始代码

    我一直在尝试查找一些有关访问 MS Access 中的原始代码的信息 我使用 v2007 但可能应该适用于所有版本 举例来说 我想列出应用程序中每个代码隐藏表单和模块中的所有函数并列出它们的参数 你将如何实现这一目标 注意 我当然假设该应用
  • 如何使用 jq 过滤 JSON 对象数组?

    我有以下 JSON 输入 zk kafka InstanceType t2 medium zkMemory 16 kafkaMemory 8 InstanceType t2 small zkMemory 8 kafkaMemory 4 es
  • 限制 ADFS 2.0 使用特定 OU 而不是域级别访问

    考虑以下示例场景 我有一个用于生产 测试 和开发的单个 Active Directory 域 每个域在 OU 级别分开 我想在测试 OU 级别安装 ADFS 并且不希望在测试 OU ADFS 上经过身份验证的用户能够访问 读取和写入 其他
  • jQuery 简单值与 .val() 出现问题

    我有以下代码 document ready function alert font someClass val 这里有一个Fiddle http jsfiddle net 2wwzD 1 用它 有谁知道为什么我无法返回字体标签的值 我是否假
  • 求树的深度?

    我对二叉树和递归非常陌生 我的程序是找到树的高度 但我有点困惑为什么我的程序不起作用 struct Node int value Node left Node right int heightOfTree Node node if node
  • 当属性名称为参数时如何查询属性值?

    通常我们可以查询属性值 例如 Match n Product where n name iPhone X return n 但是 就我而言 我不知道应该匹配哪个属性 但我只知道值 在这种情况下属性名称就变成了一种变量 我想要这样的东西 Ma
  • 如何收到 wifi 网络状态变化的通知?

    我正在编写一个通过 wifi 连接到 telnet 服务器的应用程序 我有一个管理套接字连接的服务 一切正常 但当手机休眠时 它会断开 wifi 无线电 这会导致套接字连接中断 并抛出 SocketException 我觉得我应该能够设置一
  • 如何在 Windows 中使用命令提示符创建多个空文件

    我正在开发一个项目 需要创建多个空文件 过去 我使用过 touch 命令 但这只能让我一次创建一个文件 有没有办法在 Windows 中使用命令提示符创建多个空文件 我感谢您提出的任何建议或解决方案 谢谢你 A FOR循环将允许您创建任意数
  • alias_method 和 class_methods 不能混合使用吗?

    我一直在尝试修补全局缓存模块 但我不明白为什么这不起作用 有没有人有什么建议 这是错误 NameError undefined method get for module Cache from irb 21 in alias method
  • 使用 Dataset API 在 Tensorflow 中批量滑动窗口

    有没有办法修改一批图像的组成 目前 当我创建例如大小为 4 的批次 我的批次将如下所示 Batch1 Img0 Img1 Img2 Img3 第2批 Img4 Img5 Img6 Img7 我需要修改批次的组成 以便它只会转移到下一个图像一
  • 运行 .net 应用程序而不安装 .net 客户端配置文件?

    我在framework 4 0中构建了一个c net应用程序 我不反对为客户端的电脑安装 net 但是在客户端安装它太大了 这不可能有一些小的安装程序或redist包吗 安装并有助于轻松运行 net 应用程序 因为仅为小型应用程序安装完整的
  • 在 Go 中不睡眠的情况下测试异步结果

    我的代码中有相当多的组件具有持久的 go 例程 用于侦听事件以触发操作 大多数时候 他们没有理由 除了测试之外 在完成该操作后发回通知 但是 我的单元测试正在使用 sleep 来等待这些异步任务完成 Send notification ev
  • JUnit 4 与 TestNG - 更新 2013 - 2014 [已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 JUnit 4 和 TestNG 曾经具有可比性 这两个测试框架有何优缺点 我今天比较了 TestNG 和 JUnit4 以我有限的测试框架经验