阻止单元测试但允许在 Maven 中进行集成测试

2024-01-16

我有一个 Maven 构建,其中使用 SureFire 插件来运行一些单元测试,并使用 FailSafe 插件来运行一些集成测试。我想要一种只运行 FailSafe 插件测试的方法。

对于我来说,在 pom 中添加不同的配置文件或任何内容并不是一个好的解决方案,因为它是一个多模块构建,我不想编辑每个模块的 pom。

skip.tests and maven.test.skip and skipTests哪个站all测试,以及skipITs http://maven.apache.org/plugins/maven-failsafe-plugin/verify-mojo.html#skipITs,这仅停止故障安全插件。

那么,Maven 是否有一个像这样的命令行标志skipITs,而是使用“onlyITs”的功能?


我发现仅跳过 Surefire 测试的最简单方法是配置 Surefire (但不安全) 如下:

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.14</version>
    <configuration>
        <!-- skips surefire tests without skipping failsafe tests.
                 Property value seems to magically default to false -->
        <skipTests>${skip.surefire.tests}</skipTests>
    </configuration>
</plugin>

这允许你运行mvn verify -Dskip.surefire.tests并且只有万无一失的测试才会被跳过;它还将运行所有其他必要的阶段,包括集成前和集成后,并且还将运行verify实际需要的目标你的 Maven 构建失败如果您的集成测试失败。

请注意,这重新定义了用于指定应跳过测试的属性,因此如果您提供规范-DskipTests=true,surefire 会忽略它,但failsafe 会尊重它,这可能是意外的,特别是如果您已经有现有的构建/用户指定了该标志。一个简单的解决方法似乎是默认的skip.surefire.tests的值skipTests在你的<properties>pom 部分:

<properties>
    <skip.surefire.tests>${skipTests}</skip.surefire.tests>
</properties>

如果需要,您可以提供一个类似的参数,称为skip.failsafe.tests对于故障安全,但是我没有发现有必要 - 因为单元测试通常在早期阶段运行,如果我想运行单元测试而不是集成测试,我会运行test相而不是verify阶段。您的经历可能会有所不同!

These skip.(surefire|failsafe).tests属性可能应该集成到 Surefire/Failsafe 代码本身中,但我不确定它会在多大程度上违反“除了 1 个微小的差异之外,它们是完全相同的插件”的精神。

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

阻止单元测试但允许在 Maven 中进行集成测试 的相关文章

  • ExtJS GridPanel 中的垂直滚动条

    我正在开发一个项目 其中页面上有一个 GridPanel 该面板可以显示任意数量的行 并且我设置了 autoHeight 属性 这会导致 GridPanel 扩展以适合行数 我现在想要一个水平滚动条 因为在某些分辨率下 并非所有列都会显示
  • Microsoft Graph API 调用无限期挂起

    我正在尝试使用 Microsoft Graph 查询 Azure Active Directory 用户信息 我可以很好地进行身份验证 但是当我尝试查询用户信息时client Users我的应用程序无限期挂起 没有超时 没有错误 只是挂起
  • 使用和不使用 SciPy 计算 k 组合的数量

    我对这个函数感到困惑combSciPy 的 http docs scipy org doc scipy 0 14 0 reference generated scipy misc comb html看起来比简单的 Python 实现要慢 这
  • Google 地图 v3 信息窗口在地图视口外打开

    如果单击地图视口顶部附近的标记 信息窗口将加载到可视区域之外 并且必须拖动地图才能查看信息窗口内容 理想情况下 我不希望地图自动平移 有没有办法以不同的方向加载信息窗口 例如如果标记位于视口的顶部 则以向下的方向显示信息窗口 不 你不能以不
  • Cassandra 中的数据分布

    我听说过 Cassandra 及其发行版 其实想知道数据在整个集群中是如何分布的现象 我的意思是 Cassandra 如何决定哪些节点拥有哪些数据 如果您了解 HashTable 数据结构以及 Hashtable 中如何进行哈希处理 那么这
  • 为什么 SQL Server 不推荐使用 SET ANSI_PADDING OFF?

    根据 MSDN BOL 在线书籍 SET ANSI PADDING http msdn microsoft com en us library ms187403 aspx 在 Microsoft SQL Server 的未来版本中 ANSI
  • 并行 Haskell - GHC GC 火花

    我有一个正在尝试并行化的程序 带有可运行代码的完整粘贴here http lpaste net 101528 我进行了分析 发现大部分时间都花在findNearest这本质上是一个简单的foldr超过一个大Data Map findNear
  • 每次都在django查询数据库中过滤查询集吗?

    想象一下我有以下代码 qs Users objects all list for i in range 10 list append qs filter age i 这里过滤器被调用 10 次 它是连接到数据库 10 次还是第一次使用过滤器
  • 如何设置打开文件时默认展开?

    In my vimrc我已经把set foldmethod syntax启用方法折叠等 但是 我不喜欢每次打开文件时都会折叠整个文件的默认设置 有没有办法启用foldmethod 但是当我打开文件时文件是否展开了 set foldlevel
  • 带有客户端证书的android webview

    我尝试了几天使用嵌入在应用程序中的客户端证书的Web视图 但在我看来 android sdk没有提供任何方法来做到这一点 是否有回调来拦截服务器发送的质询 有没有办法将 webview 与客户端证书一起使用并发出 https 请求 因为我也
  • django:url 标签 -> 如何使用变量作为 url_name?

    我有一个 django 视图 它声明了一个目标变量 target name of next view to call return render request template locals 我想在我的模板中使用这个目标变量 我尝试了以下
  • 从 Bigcommerce 的浏览器内存中删除注入的分析库?

    我们如何删除这个脚本注入器系统并清除内存中的函数 简报 最近 Bigcommerce 的不法分子以 监控 为幌子创建了一个分析注入器 JS 该注入器被锁定在全局变量中 他们在未经任何 OP 同意的情况下将其推广到所有 50 000 家前台商
  • 是什么让热部署成为“难题”?

    在工作中 我们经常遇到这样的问题 永久代内存不足 http www jroller com agileanswers entry preventing java s java lang例外 团队负责人认为这是 JVM 中的一个错误 与代码的
  • 将十进制转换为十六进制

    首先 这是家庭作业 我正在尝试将 5 位数字读入寄存器 bx 假定该数字不大于 65535 16 位 以下是我尝试这样做的方法 但是 当我尝试打印该号码时 我仅打印输入的最后一位数字 这让我猜测 当我向 bx 添加另一个数字时 它会覆盖以前
  • qt 如何知道按钮被点击?

    我正在尝试编写一个程序 用声音进行一些操作 我的问题是我有 3 个播放按钮和 3 个标签 我希望无论我单击 播放 按钮 都应该播放按钮附近标签中名称的声音 我有一个没有任何参数的播放插槽 那么 如何分别连接到每个播放按钮和每个标签呢 实际上
  • 高图表的分散工具提示未显示

    我有一个散点图和条形图 我无法查看酒吧上方散点的工具提示 这是小提琴http jsfiddle net tZ9Rt http jsfiddle net tZ9Rt 我正在使用这两个系列 series type scatter index 2
  • 我可以使用 VBA 将密码“传递”到 Excel 中的外部数据库连接吗?

    我正在尝试使用 VBA 隐藏我在 Excel 工作表中设置的数据连接的密码 由于 Excel 以纯文本形式存储外部数据源的密码 因此我想让 VBA 调用表的刷新并提供密码 我录制了刷新表格并输入密码的宏 但令我沮丧的是 它似乎省略了密码部分
  • Django 无法覆盖表单字段小部件

    我需要在表单中生成基于列的复选框 myapp templates forms widgets custom html div class row for group options index in widget optgroups for
  • 使用 Fetch 发生超时错误 - React Native

    我有一个正在运行的用户登录功能 但是 我想在获取时加入超时错误 有没有办法设置一个 5 秒左右的计时器 这样在这个时间之后就会停止尝试获取 否则 一段时间后我就会出现红屏 提示网络错误 userLogin var value this re
  • 直接或通过包含定义嵌套类

    假设我正在为我的家庭存储系统建模 我有很多不同类型的Container 而且我发现其中很多都有装饰品 因此我为这种常见情况设置了一些辅助代码 我的容器中有我的Mantlepiece and my Bookcase 我只在前者上存放装饰品 而

随机推荐

  • 如何在 Azure 逻辑应用程序中使用 OAuth 2.0 身份验证?

    我正在尝试创建一个带有 FTP 触发器的简单逻辑应用程序 然后将任何上传的文件内容通过管道传输到我在 Azure 中托管并使用 OAuth 2 0 客户端凭据授予流进行保护的 Web API 如何在逻辑应用中配置 OAuth 2 0 身份验
  • 在 NestJS 微服务中公开正常的 http 端点

    我用 NestJs 编写了这个微服务 async function bootstrap const port parseInt process env PORT 5000 10 const app await NestFactory cre
  • 为什么一种形式的最后一个元素与第二种形式的第一个元素之间存在间隙?

    我有这个 html 文件 margin 0 padding 0 box sizing border box body margin 0 background ff5 form display inline nick msg backgrou
  • 多线程:线程多于内核有什么意义?

    我认为多核计算机的要点在于它可以同时运行多个线程 那么 如果你有一台四核机器 那么同时运行超过 4 个线程有什么意义呢 他们不会只是互相窃取时间 CPU 资源 吗 答案围绕线程的目的 即并行性 同时运行多个单独的执行行 在 理想 系统中 每
  • AngularJs 服务、文件上传、Laravel

    我在处理 XHR 请求时遇到问题 由于某种原因我的服务器未收到我的文件 这是我的角度服务更新算法 var update function id name file var formData new FormData formData app
  • Laravel 5.7 如何使用 URL 记录 404

    我想在 Laravel 5 7 中记录 404 错误 但我不明白如何打开它 除了记录 404 错误之外 我还想记录所请求的 URL 其他错误已正确记录 env APP DEBUG true LOG CHANNEL stack 配置 logg
  • 在 R 中转换 Twitter 时间戳

    我是 R 新手 不擅长处理日期 以下日期是从对 Twitter 搜索 API 的查询返回的 并作为字符串存储在我的数据框中 2011 年 1 月 14 日星期五 03 01 22 0000 如何将其转换为日期并将时区更改为东部标准时间 我认
  • Google Api 客户端 NoClassDefFoundError ApacheHttpTransport

    我在编译 Android 应用程序时遇到问题 我的应用程序使用 google api 客户端库 应用程序在构建时保持强制关闭 我已经尝试调试了3个小时 我仍然无法弄清楚 有人有办法解决这个问题吗 错误日志 java lang NoClass
  • Rails 一天 12 小时 AM/PM 范围

    这是一个非常简单的问题 以前可能已经被问过并回答过 但我找不到任何东西 不管怎样 我需要一个 12 小时的范围 数组 比如中午 12 点 上午 11 点 中午 12 点 晚上 11 点 你可能已经明白了它的要点 现在我正在尝试执行一种极其复
  • php递增时间戳错误?

    我有一个分页功能 可以翻阅时间表并每周提前日期并显示与新日期相关的详细信息 在测试一些新数据时 我遇到了分页问题 因为它不会在 2012 年 10 月 22 日通过 调试代码我最终找到了问题的根源 即将表示 22 10 2012 的日期戳增
  • 以编程方式更改 FormsAuthenticationTicket 中的用户数据

    我正在使用FormsAuthenticationTicket并放置数据并将数据传递到所有页面 如果我们不更改任何数据 它就会起作用 所以 现在如果我想更改数据并将其传递给 cookie 并加密 那么如何以编程方式更改数据 请给我更改数据的解
  • 我什么时候应该断开 GoogleApiClient (Android)

    在我的 Android 应用程序中 我有 3 个登录选项 Google Facebook 和我自己的登录选项 我已经实现了所有 3 个 我已按照上述步骤实现了 Google 登录here https developers google co
  • VueJS - 事件“click”的无效处理程序:未定义

    我有一些元素列表 单击这些元素后我想对其进行编辑 我在其他组件中有类似的解决方案 它工作得很好 但在新组件中却没有 也找不到原因 当组件渲染时我得到 Invalid handler for event click got undefined
  • Angular:服务工作者配置

    我正在尝试将 PWA 功能添加到在 Angular 8 上运行的网站 我遵循了很多官方和非官方的教程 但我不明白我做错了什么 ngsw config json 是这样的 schema node modules angular service
  • 从 ASP.NET Core 的容器迁移到 Autofac

    我正在使用 ASP NET Core 及其内置容器 我想将我的注册迁移到 Autofac The Autifac 文档 http autofac readthedocs io en latest integration aspnetcore
  • flutter cloud-firestore MissingPluginException异常

    无法在 flutter android 和 IOS 中使用 cloud firestore 我收到此异常 E flutter 10137 错误 flutter lib ui ui dart state cc 157 未处理的异常 Missi
  • Python 中排列的递归实现

    抱歉 已经有很多关于这个问题的帖子了 然而 我很难看出我自己的实现中出了什么问题 所以我试图编写一个函数 它接受一个字符串并以列表的形式返回所有可能的排列 理论上它应该是这样的 allPermutations abc z a allPerm
  • Laravel 403 签名无效仅在 Nginx Web 服务器上

    Problem 我正在通过从 laravels 复制并粘贴的 laravels temporarySignedRoute 函数创建一个签名 URL签署路线 https laravel com docs 5 8 urls文档中 在我的网络服务
  • RSelenium 找不到具有给定参数的元素

    我正在使用 RSelenium 构建一个包含经理信息的数据框架 我在选择下拉列表中的元素时遇到问题 我的代码如下 gt require RSelenium gt remDr lt remoteDriver browserName chrom
  • 阻止单元测试但允许在 Maven 中进行集成测试

    我有一个 Maven 构建 其中使用 SureFire 插件来运行一些单元测试 并使用 FailSafe 插件来运行一些集成测试 我想要一种只运行 FailSafe 插件测试的方法 对于我来说 在 pom 中添加不同的配置文件或任何内容并不