新的 JUnit 4.8.1 @Category 渲染测试套件几乎已经过时了吗?

2024-07-04

给出的问题“如何运行属于某个类别的所有测试?”和答案 https://stackoverflow.com/questions/2176570/how-to-run-all-tests-belonging-to-a-certain-category-in-junit-4/2176791#2176791以下方法对于测试组织来说会更好吗?

  1. 定义包含所有测试的主测试套件(例如使用类路径套件 http://www.johanneslink.net/projects/cpsuite.jsp)
  2. 设计足够的 JUnit 类别集(足够意味着每个所需的测试集合都可以由一个或多个类别识别)
  3. 使每个测试符合相关类别
  4. 根据主测试套件和类别集定义目标测试套件

例子:

  • 识别速度类别(慢、快)、依赖项(模拟、数据库、 积分等),函数(填写适用类别), 领域 (填写适用类别), etc.
  • 要求每个测试都经过相关类别的适当限定(标记)。
  • 使用 ClasspathSuite 创建主测试套件(在类路径中找到的所有测试)
  • 通过使用类别限定主测试套件来创建目标套件,例如 模拟测试套件、快速数据库测试套件、Domain X 测试套件的慢速集成等。

我的问题更像是征求这种方法与经典测试套件方法的批准率。一无敌benefit是每个新测试立即包含在相关套件中,无需套件维护。一concern是每个测试的正确分类。


您必须考虑的权衡之一是恕我直言,类别是在测试内定义的,而套件是在外部定义的。这意味着,当您使用套件时,您知道将运行哪些测试,但是当使用类别时,您不知道,除非您检查测试或简单地运行它们。同时,当您使用测试套件查看测试时,您不知道它包含在哪个套件中,除非检查您的套件,但使用类别,您会立即看到它。

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

新的 JUnit 4.8.1 @Category 渲染测试套件几乎已经过时了吗? 的相关文章

随机推荐

  • 当我将鼠标悬停在组合框项目上时引发事件

    当我将鼠标悬停在组合框项目上时 我无法找到要触发的事件 我正在使用 Windows 窗体来构建应用程序 我发现WPF有类似的东西 当我将鼠标悬停在组合框项目上时如何更改标签文本 https stackoverflow com questio
  • 如何对不同类型的列表进行排序?

    我需要使用 python 3 对列表进行排序 可能有strings integers floats or tuples etc 我目前正在尝试正确使用sort函数使用key参数如下 data sort key gen key def gen
  • C# 在字符串中创建下标

    目前我正在尝试修复我的应用程序中的一些格式 我正在尝试下标string并将其附加到正常的string 与在 MS Word 中执行的操作相同 我已经尝试过这个 正如假设的那样here https en wikipedia org wiki
  • StatefullWidget 和 StatelessWidget 在性能方面有什么区别?

    如果我们只使用 StatefullWidget 而不是 StatelessWidget 是否会对性能产生影响 反之亦然 在我看来 我们只需使用StatefullWidget对于诸如更新部分 UI 之类的事情setState 有办法在中设置一
  • 使用jsoup从两个标签之间提取未识别的html内容?正则表达式?

    我想获取两者之间所有链接的名称h2那里有标签 h2 span class mw headline People span span class mw editsection span class mw editsection bracket
  • .NET 4 代码契约:“需要未经验证:源!= null”

    我刚刚开始在我的项目中使用代码契约 但是 我的存储库实现存在问题 它使用实体框架查询数据库 我有以下方法 public IEnumerable
  • 如何使用call_user_func作为静态类方法?

    下面的代码工作正常 LibraryTests TestGetServer 获取 LibraryTests 中的函数数组并运行它们 methods get class methods LibraryTests foreach methods
  • Rails 计算时间差

    我已经尝试过这样的代码 但它不起作用 require time diff cur time Time now strftime Y m d H M time diff components Time diff art datetime of
  • 与对象的互斥体

    我试图了解如何在 C 中将互斥体与对象一起使用 我有以下 简单的 多线程代码用作速度测试 struct Rope int n steps offset std mutex mut Rope Rope int n int steps int
  • 有 git 活动日志吗?

    这里确实出了问题 请允许我介绍一下背景 今天我尝试推送到我们公司默认的裸 msysgit windows 服务器并得到一个关于推送到非裸的可怕的错误消息在 SO 中随处重复 https stackoverflow com questions
  • 是什么导致 DTLB_LOAD_MISSES.WALK_* 性能事件发生?

    考虑以下循环 loop add rsi STRIDE mov eax dword rsi dec ebp jg loop where STRIDE是一些非负整数并且rsi包含一个指向缓冲区中定义的指针bss部分 该循环是代码中唯一的循环 也
  • 测试用户输入数组中的重复项的最有效方法是什么?

    我正在尝试编写一个模拟器来玩强力球彩票 程序会要求5数字 又名白球 并输入到6元素数组和另一个数字 红色强力球 放入6th 元素 我需要弄清楚如何首先测试重复项5元素但6th 不需要是唯一的 我有一个循环 我认为可以工作 但它甚至不执行并且
  • Swift 3 NSCache 通用参数“KeyType”无法推断

    此代码适用于 Swift 2 x An internal in memory cache private var dataCache NSCache init In Swift 3它会导致编译错误 Generic parameter Key
  • AJAX 调用后使用 jquery 刷新 DOM

    我正在做一个新项目http www hotwirerevealed com http www hotwirerevealed com它显示 识别 hotwire com 上的酒店 输入状态和目的地后 我有一个 javascript 函数 它
  • XACML如何有效控制对资源集合(列表)的访问

    假设我有一个集合transactions以及授予的政策read access对于具有该角色的用户 该集合中的事务user 如果用户的department与记录中的 on 相同 问题 如果我访问单个资源 则检查每个资源的访问权限没有问题 但是
  • 模板内嵌套 for 循环

    模型 py class Task models Model level models ForeignKey Level on delete models CASCADE todo models ForeignKey ToDo on dele
  • 删除/重置核心数据中的所有条目?

    您知道有什么方法可以删除存储在核心数据中的所有条目吗 我的架构应该保持不变 我只是想将其重置为空白 Edit 我希望以编程方式执行此操作 以便用户基本上可以点击reset button 您仍然可以使用 NSFileManager remov
  • MVC3 将 ControllerContext 传递给线程?

    我在 MVC3 应用程序中使用 Rotativa 将 pdf 生成到内存流中 然后将其作为电子邮件附件发送出去 这工作正常 但速度相当慢 只有 1 个用户约 5 7 秒 所以我一直在尝试将其放入一个单独的线程中 这样用户就不会陷入巨大的延迟
  • getAllNetworkInfo() 在 M 中已弃用,但其替代品具有不同的行为

    ConnectivityManager 的 getAllNetworkInfo 在 API 23 上已弃用 其注释表示使用 getAllNetworks 代替 然而我发现这些没有相同的行为 例如 如果手机有可用的活动蜂窝网络 但 wifi
  • 新的 JUnit 4.8.1 @Category 渲染测试套件几乎已经过时了吗?

    给出的问题 如何运行属于某个类别的所有测试 和答案 https stackoverflow com questions 2176570 how to run all tests belonging to a certain category