Tasks:
- Install Junit(4.12), Hamcrest(1.3) with Eclipse
- Install Eclemma with Eclipse
- Write a java program for the triangle problem and test the program with Junit.
a) Description of triangle problem:
Function triangle takes three integers a,b,c which are length of triangle sides; calculates whether the triangle is equilateral, isosceles, or scalene.
- 安装Juint4.12
参考http://www.blogjava.net/qileilove/archive/2014/09/11/417823.html
1.在这个网址上http://search.maven.org/#search|gav|1|g:"junit" AND a:"junit"选择jar下载
2.打开eclipse
File-new-JavaProject(设定名字:juinttesst)
在src下新建包juinttest
在juinttest包下新建类JuintTest.java
package juinttest; public class JuintTest { public boolean method1(int comp){ //do something if(comp>5){ //do something return false; }else{ //do something return true; } } }
填入上面的代码
添加jar包:在要使用Junit的project名上,点击properties--java build path-libraries, 点击Add External JARs,把Junit包点上就行了。
3.建立类junittest的junit类
选择要单元测试的类junittest,点击右健,选择”new”---“other”---“java”—“junit”—“junit test case”
1、选择第一个对话框中的属性,一般需要选择setup复选框和teardown
Setup函数用于测试的初始化,而teardown用于测试的销毁,前者相当于c++中的构造函数和析构函数。
2、进入第二个对话框,选择需要测试的类方法,一般只是选择被测试类本身的方法,
上图中的junittest中的method1就是被测试类的实现方法。
3、点击finish,自动生成该类的测试类JunitTestTest
4、生成的代码如下所示。
package juinttest; import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; public class JuintTestTest { @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @Test public void testMethod1() { fail("Not yet implemented"); } }
- 安装Hamcrest(1.3)
在以下网址下载
http://search.maven.org/#search|gav|1|g:"org.hamcrest" AND a:"hamcrest-core"
点击jar下载
按照添加juint jar包的方式添加jar包
- 安装Eclemma
1.安装方法: 解压到[eclipse_home]\dropins里
参考:http://blog.csdn.net/zhang103886108/article/details/44221175
打开eclipse-》help-》install new software-》add-》local-》选择你下载的eclemma,点OK就可以安装
重启
2.修改juinttest的代码
package juinttest; public class JuintTest { public static void main(String[] args) { if (args.length==0) { System.out.println("==0"); } else { System.out.println("!=0"); } } }
右键-coverage As-》java application
结果分析
红色代表未执行
黄色代表条件没有全部执行
绿色代表执行过了
- 编写triangle代码,生成对应的test文件
写测试的代码
遇到问题:
解决:
发现未初始化juin,初始化
- 运行结果
1.
2.
3
.
4.
eclemma运行结果:
最后的文件夹结构: