对 Quarkus / Tech doku 关于 Quarkus 测试引擎的基于属性的测试支持

2023-12-25

我们有一个 Quarkus 项目正在生产中。它运行良好,但由于数据结构和业务逻辑的高度复杂性,测试是一场噩梦。 我们想在我们的项目中添加基于属性的测试。但到目前为止,我还没有找到支持 Quarkus 的 Java PBT 测试库。

我已经尝试过 *jqwik * 和junit-quickcheck。它们都在技术上运行,但由于不同的测试引擎,它们无法访问我们的项目代码,即访问注入的 bean(它们在测试运行期间保持为 NULL)。 也可以看看:Quarkus 测试中激活 jqwik 时 Inject 返回 NULL https://stackoverflow.com/questions/74388233/inject-returns-null-when-activating-jqwik-in-quarkus-test

我尝试为 jqwik 编写一个自己的 quarkus 扩展。我与 jqwik 部分相处融洽,但由于缺乏对 Quarkus 测试引擎的理解而失败。

我的问题:

  1. Quarkus 中是否有基于属性的测试支持?
  2. 如果没有,任何人都可以提供有关 Quarkus 测试引擎的深入指南吗?编写自己的扩展需要一段时间,但(鉴于引用的 PBT 库所有者批准)我可能可以将生成的扩展公开。

您可能想看看快速理论:https://github.com/quicktheories/QuickTheories https://github.com/quicktheories/QuickTheories.

它与 jqwik 和 junit-quickcheck 的区别在于它独立于任何测试框架或测试引擎。明显的优点是,您可以将其添加到您已经使用的任何内容中,例如基于示例的测试您的 Quarkus 应用程序。缺点是您无法获得额外的生命周期支持,例如为每次属性尝试实例化 DI 提供的对象。此外,快速理论似乎是孤立的。因此,在 Quarkus 内开始使用 PBT 可能是一个短期解决方案,但您可能还想继续开发对 Quarkus 测试引擎的集成支持。

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

对 Quarkus / Tech doku 关于 Quarkus 测试引擎的基于属性的测试支持 的相关文章

随机推荐

  • Postgresql 将 null 变成零 [重复]

    这个问题在这里已经有答案了 可能的重复 SELECT max x 返回 null 我怎样才能让它返回0 http stackoverflow com questions 1688715 select maxx is returning nu
  • 在 Laravel 4 中搜索和过滤/精炼数据库结果

    我正在寻找一种通过 Laravel 4 中的查询字符串搜索和过滤数据库表 Eloquent 模型的方法 我有一个名为houses列名为 price name hasCoffeeMachineand hasStove 我希望用户能够执行以下操
  • 如何在启动 mule 时自动运行一次流程?

    我有一个 java 类 它使用种子集合创建一个干净的 MongoDB 数据库 它会自动识别数据库是否丢失并创建它 我想在启动 MuleEsb 时运行它 这样我就不需要在启动 mule 之前记得调用它 我希望将其放入流程中并在 mule 启动
  • MSBuild 因缺少项目文件而强制编译失败

    作为一名开发人员 我希望我的编译器 在本例中为 Visual Studio 中的 MSBuild 在任何包含以下文件的情况下都会严重失败 csproj磁盘上丢失的项目 在目睹了网站上的 web config 被意外删除后 我萌生了这个想法
  • Python-queue.task_done() 的用途是什么?

    我编写了一个具有多个线程的脚本 使用threading Thread 从 a 获取 URLQueue using queue get nowait 然后处理 HTML 我是多线程编程的新手 并且无法理解其目的queue task done
  • Haskell Web 框架

    我正在使用 haskell 创建简单的 Web 应用程序 首先 我在前面使用了 Snap 并且能够运行应用程序 但我想将用户输入添加到应用程序中 我找不到一种方法来获取函数的用户输入参数 我该怎么做呢 另外 我也使用Happstack框架
  • 设置 WAMP 在 LAN 上运行,包括移动访问、iPhone

    我正在 Win 7 上使用 WampServer v2 0 开发 CodeIgniter 应用程序 我已经编辑了本地 HOSTS 文件 以便可以在此处访问它 ht tp 测试域 代替 ht tp localhost testdomain 帮
  • 可以在 jruby 中加载 nokogiri 而不安装 nokogiri-java 吗?

    我需要一种方法来运行以下 nokogiri 脚本 parser rb require nokogiri def parseit end 并致电parseit 在 jruby 中的 main rb 下面运行时 main rb require
  • jQuery - 为什么 $('form').get(0).submit() 不触发附加的提交处理程序?

    假设我为表单创建了以下处理程序 回调 form submit function event event preventDefault alert form submitted 为什么调用 form get 0 submit不调用提交处理程序
  • 在 WinRT 上保存带有背景图像的画布

    我想使用 C for WinRT 为儿童制作一个简单的绘图应用程序 用户可以选择一张图片并绘制一点 但如何保存图像 连同背景 没有保存带有背景的图像的功能 我尝试使用您的库将 Canvas 渲染到图像文件中 但运行时出现此错误 找不到组件
  • Cudd_PrintMinterm,访问乘积和中的各个最小项

    这可能是本论坛常驻 CUDD BDD 专家 DCTLib 的问题 但如果其他人有见解 当然欢迎 考虑给定的最小项 例如 0 0 0 0 0 11 1 我需要单独取每个小项 并将 1 替换为 P x i 我正在处理变量的概率 将 0 替换为
  • 气体中断

    我正在尝试将我的简单程序从 Intel 语法转换为 AT T 用 GAS 编译 我已经成功转换了应用程序的很大一部分 但仍然收到错误int 中断 我的功能是这样的 printf mov 0x0e ah mov 0x07 bl nextcha
  • Hibernate Criteria API 相当于 HQL select 子句?

    我想要对两个持久类进行组合查询 在 HQL 中 这可以通过 select 子句来实现 select new Family mother mate offspr from DomesticCat as mother join mother m
  • 什么是 .sln 和 .vcproj 文件,它们包含什么?

    我是 Visual Studio 世界的新手 有人可以解释一下这两个文件包含什么吗 我知道其中一个包含有关项目的信息 但另一个呢 一个项目文件 vcproj vcxproj包含有关如何将代码编译成 DLL 或二进制文件或链接器可以组装成一个
  • 使用 pip 从 Git 存储库安装不可编辑的标签/分支

    我想安装一个不可编辑的 例如 没有 e选项 使用来自 Git 存储库的标签或分支pip http pip openplans org 并且似乎不知道该怎么做 如果我这样做 pip install git git github com dja
  • 如何在Android中打印HashMap中的所有键和值?

    我正在尝试在 Android 示例项目中使用 HashMap 现在 正在做学习android的示例项目 我只是将键和值存储在 HashMap 中 我想在 EditView 中显示键和它们的值 我在示例项目中遵循了以下代码 但是 第一个键和值
  • 无法写入核心转储。 Windows 客户端版本默认不启用小型转储

    我当时正在研究 Eclipse RCP 我得到了这个错误 Java 运行时环境检测到致命错误 EXCEPTION ACCESS VIOLATION 0xc0000005 在 pc 0x000007fef54b88ee pid 3192 ti
  • Symfony 在秘密中找不到环境变量

    我有同样的问题here https stackoverflow com questions 61016442 symfony cant find secret environment variable 已关注Symfony 秘密纪录片 ht
  • TextView 上出现意外的顶部和底部填充?

    我有一个文本视图 我想设置它的背景颜色 但颜色填充的顶部空间多于底部空间
  • 对 Quarkus / Tech doku 关于 Quarkus 测试引擎的基于属性的测试支持

    我们有一个 Quarkus 项目正在生产中 它运行良好 但由于数据结构和业务逻辑的高度复杂性 测试是一场噩梦 我们想在我们的项目中添加基于属性的测试 但到目前为止 我还没有找到支持 Quarkus 的 Java PBT 测试库 我已经尝试过