Maven项目管理实战(六)--完成单元测试

APM32F103 配置CAN 摘要: 本文介绍了基于APM32F103RCT6的CAN通信实现,包含GPIO初始化、CAN配置、数据收发功能。通过配置CAN1的GPIO引脚(PB8/PB9)和波特率(500Kbps),实现标准帧格式的数据传输。发送函数支持8字节数据包,接收函数通过FIFO0处理消息,并根据接收ID触发响应发送(如ID 0x1回复0x2)。代码还包含错误状态检测(如总线关闭处理)和过滤器配置(32位掩码模式)。整体实现了基础的CAN通信与错误管理功能。 阅读详情

JUnit是单元测试事实上的标准,所以我们这里仅介绍如何在Maven中使用JUnit进行单元测试。


1. 工程配置

1.1 pom.xml

为了实现单元测试,需要引入JUnit的Dependency:

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>

另外,Maven中有一个Plugin是用来支持单元测试的,这个Plugin是maven-surefire-plugin,我们在project段中增加:

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${maven-surefire-plugin.version}</version>
					<configuration>
						<includes>
							<include>**/*.java</include>
						</includes>
						<excludes>
							<exclude>**/AppTest.java</exclude>
						</excludes>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

注意其中的configuration中定义了测试哪些类和不测试哪些类。


1.2 运行

配置完成后可以使用如下命令开始进行测试:

mvn test

或者你本次不想进行任何测试,那么可以使用:

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${maven-surefire-plugin.version}</version>
					<configuration>
						<skip>true</skip>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

甚至你都不想编译测试代码,可以使用:

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugin</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>${maven-compiler-plugin.version}</version>
					<configuration>
						<skip>true</skip>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${maven-surefire-plugin.version}</version>
					<configuration>
						<skip>true</skip>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>


1.2 查看测试结果

surefire生成的测试结果位于:target\surefire-reports目录,一个文本形式比较简单,另一个xml格式的详细记录了测试信息。


1.3 查看覆盖率报告结果

有时我们期望能拿到覆盖率报告,可以确认是否所有代码都是经测试的,所以我们需要另一个plugin: cobertura:

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>cobertura-maven-plugin</artifactId>
					<version>${cobertura-maven-plugin.version}</version>
					<configuration>
						<formats>
							<format>xml</format>
							<format>html</format>
						</formats>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>clean</goal>
								<goal>check</goal>
							</goals>
						</execution>
					</executions>
				</plugin>


运行命令即可查看结果:

mvn cobertura:cobertura
结果保存在arget\site\cobertura目录。







ESP32S3编译micropython固件 编译ESP32芯片的micropython固件 阅读详情

相关推荐

AI编程助手Cursor如何革新经济学研究:从计量模型到可视化全流程实战

在数据科学和人工智能技术蓬勃发展的今天,如何高效地将前沿AI工具融入专业领域的研究工作流,成为提升科研效率的关键。其核心原理在于通过自然语言交互,将研究者的专业问题转化为机器可执行的指令,从而实现人机协作的范式转移。这一技术的核心价值在于大幅降低非计算机背景研究者的编程门槛,将精力从繁琐的代码实现中解放出来,更聚焦于学科本身的思想与逻辑。尤其在经济学、金融学等高度依赖数据分析和计量建模的领域,AI编程助手能够快速处理数据清洗、模型估计、可视化及结果解释等任务。具体到应用场景,研究者可以利用结构化提示词工程,

weixin_42531579的博客 296

【Maven教程】(九):使用 Maven 进行测试——动态指定要运行的测试用例、包含与排除测试用例、测试报告、运行TestNG测试、重用测试代码 ~

本文的主题是Maven与测试的集成,不过在讲述具体的测试技巧之前先实现了背景案例的account-captcha模块,这一模块的测试代码也成了本章其他内容良好的素材。maven-surefire-plugin是Maven背后真正执行测试的插件,它有一组默认的文件名模式来匹配并自动运行测试类。用户还可以使用该插件来跳过测试、动态执行测试类、包含或排除测试等。maven-surefire-plugin能生成基本的测试报告,除此之外还能使用cobertura-maven-plugin生成测试覆盖率报告。

Technology changes the world of life 3053

架构决策之消息中间件MQ系列六-Pulsar

一、架构

恰恰虎的博客 7253

Maven 单元测试

Maven 单元测试

青年有志 3273

Hermes Agent vs OpenClaw:2026 年开源 AI Agent 框架深度对比

两款 2026 年最受关注的开源 AI Agent 框架,一个主打「自进化」,一个聚焦「网关路由」——它们究竟有何不同?本文将从架构原理、核心机制、使用方式到适用场景,为你全面拆解。无论你是 AI 研究者、开发者,还是想用 AI 提升工作效率的个人用户,这篇文章都将帮助你做出最适合的选择

程序猿_三产 3746

quartus 13.1常见报错解决方法

在使用quartus中会遇到很多由于安装或设置不规范造成的错误。我就目前我遇到的一些错误以及我的解决方法分享给大家,这个文章将会持续更新,如果读者有遇到软件中错误无法解决的问题,也欢迎在评论区留言。 一、编译出现lience错误 在对设计的电路编译时,系统在程序运行3秒内即结束并报错,大概意思为现有的证书不支持编译。这个常见问题源自破解不成功,这里读者很有可能犯的错误是在使用破解器的时候没有区分x86(即32-bit)和x64软件破解器对应的文件夹。 如图所示有两种破解器,分别对应32位和64位的软件,大部

肥宅的博客 3万+

Maven pom.xml文件中build,plugin标签的具体使用

例如,`maven-compiler-plugin` 插件的 `compile` 目标与 Maven 构建的 `compile` 阶段绑定,因此在执行 `mvn compile` 命令时,编译代码的目标会自动执行。在 `` 标签内还可以使用其他构建相关的配置,例如使用 `` 标签声明项目构建时要使用的 Maven 扩展,或使用 `` 标签指定默认的构建目标等。目标是插件的执行单元,通过在插件配置中指定目标,可以按需执行插件的不同功能。

goTsHgo的博客 1万+

U盘 未知USB设备 设定地址失败 由于该设备有问题Windows 已将其停止(代码 43) 终极解决方案(做过系统装机盘而无法解决的必看)

U盘由于该设备有问题Windows 已将其停止(代码 43) 终极解决方案 我们在使用U盘的时候偶尔会碰到下列情况 一般是因为传输数据的过程中,死机或未响应直接断点或拔掉设备导致的,U盘再次插上之后出现设定地址失败。无法再次读取设备的数据。 解决方案: 首先请确认出现该情况不是因为你摔了U盘或接口处产生断裂这种物理损伤导致的!!! 首先请确认出现该情况不是因为你摔了U盘或接口处产生断裂这种物理损...

qq_39123987的博客 13万+

maven 关于测试的配置

一、build设置 主要用于编译设置,一般包含两种标签:resource和plugins,前者用于排除或包含某些资源文件,后者用于设置插件。 1、例如:在用junit4写测试程序,用到了@Test 等注解,但是由于maven的核心插件之一compiler插件默认只支持编译java1.3,因此需要配置该插件使其支持java6,需要修改pom文件如下:

sjzzhanglisha的专栏 1193

MIC:最大信息系数

目录 1. 概念 1.1 MIC 1.2 互信息 2.MIC的优点 3. 算法原理 3.1 MIC公式原理 3.2MIC计算步骤 (1)计算最大互信息值 (2)对最大的互信息值进行归一化 (3)选择不同尺度下互信息的最大值作为MIC值 4. 代码实现 6. 其他方法 1. 概念 1.1 MIC MIC,即(Maximal Information...

满腹的小不甘 5万+

(八)DDR_PHY架构及功能——(PUB组成、初始化及Training流程、Clock关系)

文章目录一、DDR_PHY结构组成1.1、DDR Memory子系统1.2、DDR_PHY架构组成1.3、PUB模块功能实现流程1.3.1、DDR系统初始化流程1.3.2、PLL初始化流程 一、DDR_PHY结构组成 1.1、DDR Memory子系统   Memory子系统主要由DDR Controller和DDR_PHY(含DDR_IO)两个部分组成。DDR Controller主要承担其它子系统(如CPU)与Memory子系统进行数据交互时的传输效率及调度,DDR_PHY主要负责数据交互过程中的传输速

Mr.翟的博客 1万+

idea Maven创建多模块项目(之单元测试)

前面两篇已经创建好子模块,且各自关联起来,接下来进行单元测试在idea中引入单元测试junit非常方便;选中类名右击---&gt;goto----&gt;Test----&gt;create new test;如图:选择需要的junit jar包,如图:点击OK完成,然后maven会自动导入junit包,若没有自动导入,就手动导入,在pom.xml中添加依赖,如图:注意别添加错了pom.xml;若...

青蛙的博客 7441

华为流程L1-L6业务流程深度细化到可执行【附全文阅读】

该文档主要介绍了华为业务流程的深度细化及相关内容,包括流程框架、建模方法、流程模块描述、流程图建模等,旨在帮助企业构建有效的流程体系,实现战略目标。

cdfunlove的博客 4003

Maven项目管理

对第三方依赖包的管理,可以连接互联网下载项目所需第三方jar包。对自己开发的模块的管理,可以像引用第三方依赖包一样引用自己项目的依赖包。项目构建:是一个从编写源代码到编译、测试、运行、打包、部署的过程。传统项目和maven项目构建的两种方式传统项目:打开Idea编写源代码和配置文件,对源代码进行编译,可以使用Junit进行单元测试,把项目打成war包,部署到Tomcat服务器中运行。maven项目:maven将项目构建过程进行标准化,每个阶段都可以使用一个命令来完成。

2302_79585857的博客 936

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

项目管理工具maven1

Maven是一个跨平台的Java项目管理工具,主要用于项目构建、依赖管理和项目信息管理。它通过标准化目录结构和构建流程,实现自动化编译、测试、打包和部署。Maven的核心优势包括约定优于配置、生命周期管理和依赖管理(自动下载第三方jar包及管理模块依赖)。安装配置包括设置MAVEN_HOME环境变量和本地仓库路径,通过pom.xml定义项目信息。Maven支持IDE集成,如IDEA创建Java/Web项目,并可通过命令行执行构建命令(compile/test/package等)。其仓库分为本地仓库和远程仓库

qq_73993301的博客 3986

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

maven项目管理

项目管理工具软件Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。maven就是通过一段描述来构建项目,而且==maven可以帮你管理相应的jar的一款软件==。

2401_82454653的博客 739

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Maven的安装配置-项目管理工具

Maven的安装配置-项目管理工具(详细教程)

一年,我很需要这一年 2059

Maven 项目管理工具

Maven是Apache开源组织奉献的一个开源项目,可以翻译为“专家”或“内行”。Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM project object model),通过简单的配置和命令就可以完成项目的构建管理和依赖管理。使用 Maven 可以实现自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。简要概述:我们使用Idea构建Java项目中,若是要使用Mysql数据库要导包驱动或者其他封装好的包,常见方式是去官网下载JAR文件,导入项目中。

沐硕 1942

项目管理工具Maven

Maven是一个跨平台的Java项目管理工具,主要用于项目构建、依赖管理和项目信息管理。它通过标准化的目录结构和构建生命周期(清理、编译、测试、打包、部署)简化开发流程,支持自动化构建和团队协作。Maven通过pom.xml文件管理项目配置和依赖关系,能够自动下载第三方库并统一管理。相比传统IDE或Ant工具,Maven具有约定优于配置、生命周期管理、依赖管理等特点,显著提升开发效率。本文还介绍了Maven的本地仓库配置、项目创建步骤以及多模块项目的依赖管理实践,帮助开发者快速掌握Maven的核心功能和应用

weixin_62938484的博客 1045

【Maven】一篇带你了解Maven项目管理工具

Maven项目管理工具介绍

weixin_51325964的博客 1082

项目管理工具-Maven

Maven简介 Maven的作用 Maven的概念模型 Maven的仓库 Maven的坐标 Maven安装与配置 配置本地仓库 Maven项目的目录结构 Maven构建项目 Maven管理依赖 1. IDEA创建Maven工程 2.maven的依赖传递 3.maven解决jar包冲突问题

成长,编程,生活 872

项目管理工具 Maven

项目构建:是一个从编写源代码到编译、测试、运行、打包、部署的过程。传统项目和maven项目构建的两种方式传统项目:打开Idea编写源代码和配置文件,对源代码进行编译,可以使用Junit进行单元测试,把项目打成war包,部署到Tomcat服务器中运行。maven项目:maven将项目构建过程进行标准化,每个阶段都可以使用一个命令来完成。清理 --> 编译 --> 测试 --> 报告 --> 打包 --> 部署好处:可以通过命令完成项目构建。

2401_88153531的博客 1047

项目管理与SSM框架——Maven

Maven学习+案例练习 文章目录 一、Maven介绍 1.Maven简介 2.Maven的作用 3.Maven的安装 4.Maven工程的类型和结构 5.Maven项目的生命周期 6.Maven常用命令 7.Maven仓库类型 8.Maven配置文件 二、Maven工程开发 1.IDEA配置Maven插件 2.建构Maven工程 3.pom文件配置 4.Maven依赖范围 三、Maven工程测试 1.测试概述 2.Junit使用步骤 3.Junit结果判定 4.@Before、@After 四、依赖冲突

TIpotencial的博客 536

Maven项目管理工具-初始+环境配置

maven环境配置和基础知识

2301_81453175的博客 1577

项目管理工具——Maven

1、Maven介绍 1.1、什么是Maven Maven在美国是一个口语化的词语,代表专家、内行的意思。一个对Maven比较正式的定义是这么说的:Maven是一个项目管理工具,它包含了一个项目对象模型(POM,Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 1.2、Mav

weixin_44623055的博客 3093
上一篇: Mac下的mysql+hibernate配置下中文问题的解决
下一篇: Java开源框架类库介绍(一)--HttpComponents
Soloman
博客等级 码龄25年 171粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值