Maven工程开发
Maven工程开发
编写pom.xml配置文件
<properties></properties>
定义项目的基本信息
groupId
反向域名,定义项目组名
artifactId
小写字母,定义项目名
version
定义版本名,三段:第一段革命性的产品升级,第二段新功能版本,第三段修正一些bug
packaging
定义打包方式
<dependencies></dependencies>
添加项目所需要的相关依赖
Maven 存储库:搜索/浏览/探索 (mvnrepository.com)
定义依赖中jar包的坐标
<plugins></plugins>
配置需要用的的第三方插件
定义第三方插件
编写代码
发现在运行项目时,导入的jar包与tomcat7自带的jar包冲突
依赖范围
compile默认范围。表示该依赖在编译和运行时生效,项目打包时也会将该依赖打包进去。
provided使用此依赖范围的Maven依赖,编译和测试时有效,但在运行时无效。典型的例子是servlet-api,在运行时Web容器已经提供依赖,就不需要Maven重复地引入一遍。runtimeruntime范围表明编译时不需要生效,而只在运行时生效。典型的例子是JDBC驱动包,编译时只需要JDK的JDBC接口即可,只有运行项目时才需要具体的JDBC驱动。
testtest范围表明使用此依赖范围的依赖,只在编译和运行测试代码的时生效,程序的正常运行不需要此类依赖。典型的例子就是JUnit,它只有在编译测试代码及运行测试的时候才需要。
system如果有些你依赖的jar包没有Maven坐标的,它完全不在Maven体系中,这时候你可以把它下载到本地硬盘,然后通过system来引用。(不推荐使用)
Maven工程测试
测试概述
黑盒测试:不需要写代码,给输入值,看程序能否给出输出的期望值 白盒测试:需要写代码,关注程序的具体执行步骤 单元测试 | 对软件的最小可测试单元进行检查和测试 java里面是指对一个类的功能测试,属于白盒测试 Junit是java的单元测试框架
Junit使用步骤
- 引入依赖
- 测试方法是可以独立运行的,写法如下:
1.方法名一般为test+被测试方法名
2.方法上方添加@Test
3.测试方法没有参数和返回值
Junit结果判定
注意:可以正常运行不代表正确,可能结果与预期结果不一样,此时需要执行断言操作
Assert.assertEquals(预期结果,实际结果);
@Before修饰前置方法
| 在测试方法执行前自动执行
@After修饰后置方法
| 在测试方法执行后执行
本文来自博客园,作者:yuxin!!,转载请注明原文链接:https://www.cnblogs.com/yuxin6924/p/17315802.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!