构建简单的Maven工程很简单,这里写这篇随笔的原因是希望自己能记住几个小点。
1、下载maven:https://maven.apache.org/download.cgi
2、解压压缩包到指定路径,如E:/Java/maven。得到文件夹apache-maven-3.3.9。
3、以第二步得到的目录E:/Java/maven/apache-maven-3.3.9作为Maven的根目录,配置Maven的环境变量。注意因为maven是Java语言开发的所以需要依赖JDK,所以JDK的环境变量名必须为标准的JAVA_HOME,不然maven起不来。
4、win+R,输入cmd,打开dos终端输入mvn -version,检查maven是否配置成功。
5、现在可以直接使用maven命令构建工程了,但是这对于初学者来说未免有点复杂,我们可以把maven集成到eclipse中。
1、一般来说,比较新的eclipse都已经集成了maven插件的。通过Window》preference查看eclipse是否集成了maven插件。
2、如果右边的菜单列表中没有maven选项,即是没有安装maven插件。那么需要手动安装。
3、手动给eclipse安装maven插件:
Help --> Install New Software,然后输入 HTTP 地址来安装(http://download.eclipse.org)
1、File >>new >>other....,在弹出的新建框中选择Maven>>Maven Project,然后Next。
2、勾选Create a simple project(skip archetype selection),然后Next
3、填写Group Id和Artifact Id。注意,group id一般是项目的包路径,Artifact Id一般是项目的工程名称。
4、选择项目的打包类型。
5、到这里就建立了一个简单的maven工程。
测试驱动开发:是一种开发模式,或者说是一种开发流程。与传统的开发流程不同,在开发某个功能之前,先开发测试代码,然后再编写能使该测试代码通过的功能代码。总之,测试驱动是先写测试,后写功能,测试推动了功能的开发。这样的开发保证了代码的质量,确保代码能得到充分的测试。
以编写一个简单的计算器为例。
1、新建好一个maven项目后,项目的目录结构如图
2、在src/test/java目录下编写测试类TestCaculator。为了简便,首先假设我们的计算器需求是能计算加法(其他的运算暂时不考虑)。
3、编写一个加法的单元测试代码。
import static org.junit.Assert.*; import org.junit.Test; /** * @author fengyu * @time 2016年4月17日::下午1:34:47 * */ public class TestCaculator { //新建一个计算器 Caculator c = new Caculator(); //测试计算器的加法 @Test public void testAdd(){ assertEquals(5,c.add(2,3)); } }
因为这时工程中还未定义一个Caculator类,所以代码中会有许多错误。
4、根据测试编写功能代码。这里注意一个技巧,包鼠标放到错误的代码上,穿件不存在的方法和类。
/** * @author fengyu * @filename 2016年4月17日-TestCaculator.java * @time 下午1:34:47 * @classname TestCaculator */ package com.daniel.caculator; import static org.junit.Assert.assertEquals; import org.junit.Test; /** * @author fengyu * @time 2016年4月17日::下午1:34:47 * */ public class TestCaculator { // 新建一个计算器 Caculator c = new Caculator(); // 测试计算器的加法 @Test public void testAdd1() { // 加法的计算结果正确 assertEquals( 5, c.add( 2, 3 ) ); } @Test public void testAdd2() { // 加法的计算结果不正确 assertEquals( 6, c.add( 2, 3 ) ); } }
5、运行测试类TestCaculator ,结果:
1、http://blog.csdn.net/wode_dream/article/details/38052639
2、http://ryxxlong.iteye.com/blog/716428
3、http://blog.csdn.net/jaune161/article/details/40025861
4、http://blog.csdn.net/xsi640/article/details/29921019
原文:http://www.cnblogs.com/dlutfengyu/p/5401011.html