1.本文介绍
本文主要是为 本系列文章做一个铺垫,后续本系列文章内容均以当前项目为基础。
对maven中的命令以及涉及的插件进行介绍。
【对maven项目已经有经验或者对maven项目已经很熟悉的的coder们可以跳过此篇文章】
2.项目目录结构介绍
本项目完全符合maven的项目目录结构。
以下是本项目的完整目录结构图:
3.项目中的pom文件内容
pom.xml 文件中主要添加了 junit 单元测试类的依赖 以及对 编译指定编码格式的配置。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.northcastle</groupId>
<artifactId>HelloWorld</artifactId>
<version>1.0-SNAPSHOT</version>
<name>HelloWorld</name>
<description>Demo project for Maven</description>
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<!-- 解决文件拷贝时的编码 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- 解决编译时中文乱码-->
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
4.主代码
4.1 HelloWorld.java
package com.northcastle;
public class HelloWorld{
public static void main(String[] args) {
System.out.println("HelloWorld - HelloMaven!");
System.out.println("你好-Maven!");
}
}
4.2 CalculateUtile.java
package com.northcastle;
public class CalculateUtile{
// 一个计算两个数的和的方法
public int addNumber(int a,int b){
System.out.println("传入的参数是 : a = "+a+" , b =b "+b);
return a+b;
}
}
4.3 jdbc.properties
jdbc.mysql.url=http://localhost:3306
jdbc.mysql.driver=com.mysql.driver
jdbc.mysql.username=username
jdbc.mysql.password=password
5.测试代码
5.1 TestCalculateUtile.java
package com.northcastle;
import org.junit.Assert;
import org.junit.Test;
public class TestCalculateUtile{
// 测试 CalculateUtile.java 类中的 addNumber 方法
@Test
public void testAddNumber01(){
System.out.println("== 执行 addNumber 测试方法01 begin ==");
CalculateUtile calculateUtile = new CalculateUtile();
int res = calculateUtile.addNumber(100,201);
// 把计算结果交给junit进行判断
// 参数1是 期望值;参数2是 实际值
Assert.assertEquals(301,res);
System.out.println("== 执行 addNumber 测试方法01 end ==");
}
// 测试 CalculateUtile.java 类中的 addNumber 方法
@Test
public void testAddNumber02(){
System.out.println("== 执行 addNumber 测试方法02 begin ==");
CalculateUtile calculateUtile = new CalculateUtile();
int res = calculateUtile.addNumber(100,201);
// 把计算结果交给junit进行判断
// 参数1是 期望值;参数2是 实际值
Assert.assertEquals(300,res);
System.out.println("== 执行 addNumber 测试方法02 end ==");
}
}
5.2 jdbc-test.properties
jdbc.mysql.test.url=http://localhost:3306
jdbc.mysql.test.driver=com.mysql.driver
jdbc.mysql.test.username=username
jdbc.mysql.test.password=password
补充 : 单元测试的使用 建议:
1.测试类的定义,一般是Test+被测试的类名;
2.测试类的包名要与被测试类的包名一致;
3.测试类中的测试方法:
3.1 一定是 public 的
3.2 一定是 void 的
3.3 方法名 推荐格式 : test+被测试方法名
3.4 一定是没有参数的
【举例说明 : public void testAddNumber(){xxxxxx}】
4.测试方法上面要有一个 @Test 注解
5.测试类的测试方法可以单独执行
上述就是对整个项目内容的介绍。后续文章会依赖当前项目进行介绍具体的内容。
6.完成
Congratulations!
You are one step closer to success!