由于这是一个课程的实验作业,所以先附上实验要求:
- Install Junit(4.12), Hamcrest(1.3) with Eclipse/IDEA
- Install Eclemma with Eclipse
- Write a java program for the given problem and test the program with Junit.
Description of the problem:
There are one 50 yuan, one 20 yuan, one 10 yuan, two 5 yuan bills and three 1 yuan coins in your pocket. Write a program to find out whether you can take out a given number (x) yuan.
前期准备
首先在完成实验之前,先要准备好需要的jar包。然后在开始之前,先要大致了解Junit,Hamcrest,Eclemma是做什么的,然后就开始安装和使用过程了。
步骤
- 在eclipse中安装Junit(4.12),Hamcrest(1.3)
首先先新建一个新的java Project,然后右键新建的项目,选择propertise,在弹出的窗口左侧栏中选择Java Build Path,再点击右侧的Add External JARs,选择本地已经下载好的jar包导入即可。
然后点击ok即可。在新建项目的Referenced Libraries就可以看到导入的jar包了。
- 在eclipse中安装Eclemma
首先需要点击电脑最上栏中的eclipse操作栏中的help,然后选择“Install new software”,
在出现的窗口中点击Add
然后按照要求选择本地下载好的文件包即可。等待几分钟,就安装好了。安装好以后,你可以在eclipse属性栏里可以看到这个标志。
- 编写一个满足实验要去的代码
根据题目描述,代码为:
public class homework {
public static int isOk(int number){
int flag=0;
for(int i=0;i<=1;i++){
for(int j=0;j<=1;j++){
for(int k=0;k<=1;k++){
for(int l=0;l<=2;l++){
for(int m=0;m<=3;m++){
if(i*50+j*20+k*10+l*5+m==number){
flag=1;
break;
}
}
}
}
}
}
return flag;
}
public static void homework(int number){
if(isOk(number)==1){
System.out.println("I can take out "+ number+ " yuan");
}
else{
System.out.println("I can not take out "+ number+" yuan");
}
}
}
- 编写上面代码的Junit测试代码
import static org.junit.Assert.*;
import static org.hamcrest.Matchers.*;
import org.junit.Before;
import org.junit.Test;
public class homeworkTest {
public homework t;
@Before
public void setUp() throws Exception {
t = new homework();
}
@Test
public void test1() {
assertEquals(1,t.isOk(4));
}
@Test
public void test2(){
assertEquals(1,t.isOk(15));
}
@Test
public void test3(){
assertEquals(0,t.isOk(100));
}
@Test
public void test4(){
assertEquals(1,t.isOk(67));
}
@Test
public void testhomework(){
t.homework(39);
}
}
- 进行覆盖测试
在测试代码页面中右键选择Coverage As然后点击Junit Test,即可运行,并可以看到覆盖测试结果。
实验到此就算完成了。