当前位置: 首页 > 知识库问答 >
问题:

默认生命周期中的maven surefire报告

汤修贤
2023-03-14

如何在maven的默认生命周期中生成surefire报告。我们在teamcity设立了工作岗位,目标如下

mvn clean install -Pprod

这个作业运行所有junits,我想创建项目中运行的所有测试的HTML报告。我遇到了sure fire reports插件,但它只在站点阶段生成报告,而在默认的干净安装阶段不生成报告。

我如何生成报告默认生命周期

我尝试包括surefire报告插件,在测试阶段如下,但不工作

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <phase>test</phase>
                        <goals>
                            <goal>report-only</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

共有1个答案

阚通
2023-03-14

如果您需要由maven surefire report plugin生成的报告,我只看到执行mvn site,因为报告只在构建生命周期的site阶段执行。

相反,如果您只需要一个HTML可读报告,我建议您进行以下巡视:

  • 利用target/surefire reports目录中的maven-surefire插件生成的XML文件
  • 编写您自己的转换表(XSL),将它们转换为所需的HTML格式
  • 在pom中,通过XMLMaven插件在下一阶段设置转换(例如,prepare package

如果将XSL放在父项目中,并在父pom中设置此转换,则所有子模块项目都应继承它,并在相应的生成过程中生成HTML报告。

最后:如何浏览父项目中的子HTML报告?哼我要说的是编写一个Ant脚本来浏览所有子模块,列出HTML文件,并用它们生成一个HTML索引。此脚本应仅从父项目执行。

 类似资料:
  • 注:本文档提供的生命周期指的是 Universal App 的生命周期,它依赖 rax-app 提供的 runApp方法。 App 级生命周期 launch  在 App 启动时触发 使用生命周期 你可以使用 rax-app 提供的 useAppLaunch 来注册 App 级别的生命周期。 示例: import { useAppLaunch } from 'rax-app'; useAppLa

  • 我们大致为WebAPplication设计了4个生命周期: 请求初始化其实就是从URL中解析提取出{module}, {action}, {method}; 然后再根据{module}, {action}, {method}找到对应的Controller文件; 然后再调用对应的{method},完了之后再发送响应。当然响应的过程中肯定是要顺带着解析下模板标签啦。 恩,这就完了,貌似感觉很简单啊。

  • 如下图. 可以看出,基本周期是: created mounted updated (update 可以理解成人肉手动操作触发) destroyed 上面步骤中的 1,3,4都是自动触发。 每个步骤都有对应的 beforeXyz方法 所以, 我们一般使用mounted 作为页面初始化时执行的方法

  • 概览 组件的生命周期分为三个阶段:挂载、渲染、卸载,下图展示了解组件在整个生命周期中所涉及到的方法调用、原型方法调用和状态变化。 挂载阶段 从组件实例被创建再到被插入根组件树中,所经历的操作如下: 初始化组件实例。 根据组件类型绑定对应的原型。 调用 proto->init() 原型方法。 标记组件需要刷新全部样式。 因父组件变为另外一个组件,触发 link 事件。 更新阶段 当组件被插入到根组件

  • 框架生命周期 Hyperf 是运行于 Swoole 之上的,想要理解透彻 Hyperf 的生命周期,那么理解 Swoole 的生命周期也至关重要。 Hyperf 的命令管理默认由 symfony/console 提供支持(如果您希望更换该组件您也可以通过改变 skeleton 的入口文件更换成您希望使用的组件),在执行 php bin/hyperf.php start 后,将由 Hyperf\Se