Junit单元测试实验报告.docx
《Junit单元测试实验报告.docx》由会员分享,可在线阅读,更多相关《Junit单元测试实验报告.docx(8页珍藏版)》请在冰点文库上搜索。
Junit单元测试实验报告
实验二Junit单元测试实验报告
实验内容:
利用Junit对实验程序Point2d.java进行单元测试
实验目的:
掌握单元测试的方法,掌握在Eclipse里进行Junit测试的技术。
实验步骤和结果:
1、修改之前的Calculator的测试结果:
(1)自动生成的CalculatorTest类代码:
packageandycpp;
publicclassCalculator{
privatestaticintresult;//静态变量,用于存储运行结果
publicvoidadd(intn){
result=result+n;
}
publicvoidsubstract(intn){
result=result-1;//Bug:
正确的应该是result=result-n
}
publicvoidmultiply(intn){
}//此方法尚未写好
publicvoiddivide(intn){
result=result/n;
}
publicvoidsquare(intn){
result=n*n;
}
publicvoidsquareRoot(intn){
for(;;);//Bug:
死循环
}
publicvoidclear(){//将结果清零
result=0;
}
publicintgetResult(){
returnresult;
}
}
(2)运行结果:
自动生存的测试类
完善测试类后的运行结果
2、修改和完善Calculator类:
packageandycpp;
publicclassCalculator{
privatestaticintresult;//静态变量,用于存储运行结果
publicvoidadd(intn){
result=result+n;
}
publicvoidsubstract(intn){
result=result-n;//Bug:
正确的应该是result=result-n
}
publicvoidmultiply(intn){
result=result*n;
}
publicvoiddivide(intn){
result=result/n;
}
publicvoidsquare(intn){
result=n*n;
}
publicvoidsquareRoot(intn){
result=(int)Math.sqrt(n);//Bug:
死循环
}
publicvoidclear(){//将结果清零
result=0;
}
publicintgetResult(){
returnresult;
}
}
3、修改后的Calculator的测试用例:
(1)加法:
操作数:
2,、3;结果:
5
(2)减法:
操作数:
10、2;结果:
8
(3)乘法:
操作数:
10、2;结果:
20
(4)除法:
操作数:
8、2;结果:
4
(5)平方:
操作数:
3;结果:
9
(6)开方:
操作数:
4;结果:
2
代码:
packageandycpp;
importstaticorg.junit.Assert.*;
importorg.junit.Before;
importorg.junit.Ignore;
importorg.junit.Test;
publicclassCalculatorTest{
privatestaticCalculatorcalculator=newCalculator();
@Before
publicvoidsetUp()throwsException{
calculator.clear();
}
@Test
publicvoidtestAdd(){
calculator.add
(2);
calculator.add(3);
assertEquals(5,calculator.getResult());
}
@Test
publicvoidtestSubstract(){
calculator.add(10);
calculator.substract
(2);
assertEquals(8,calculator.getResult());
}
@Test
publicvoidtestMultiply(){
calculator.add(10);
calculator.multiply
(2);
assertEquals(20,calculator.getResult());
}
@Test
publicvoidtestDivide(){
calculator.add(8);
calculator.divide
(2);
assertEquals(4,calculator.getResult());
}
@Test
publicvoidtestSquare(){
calculator.square(3);
assertEquals(9,calculator.getResult());
}
@Test
publicvoidsquareRoot(){
calculator.squareRoot(4);
assertEquals(2,calculator.getResult());
}
}
4、修改后的Calculator的测试结果:
结果正确
5、Point2d的测试用例:
测试用例1:
pt1=(0.0,0.0)
pt2=(4.0,3.0)
importstaticorg.junit.Assert.*;
importorg.junit.Before;
importorg.junit.Test;
publicclassPoint2dTest{
privatestaticPoint2dpt1=newPoint2d();
privatestaticPoint2dpt2=newPoint2d(4.0,3.0);
@Before
publicvoidsetUp()throwsException{
}
@Test
publicvoidtestDistanceFrom(){
assertEquals(5,pt1.distanceFrom(pt2),0.1);
}
@Test
publicvoidtestDistanceFromOrigin(){
assertEquals(5,pt2.distanceFromOrigin(),0.1);
}
}
6、Point2d的测试结果:
两个测试用例结果均正确