您的位置:首页 > 其它

测试与封装5.2-5.3

2015-05-08 18:27 190 查看
运行环境:Eclipse

结对同伴:33 王俊凯

地址:http://www.cnblogs.com/junkaiwang/

第二阶段目标 - 通过测试程序和API 接口测试其简单的加减乘除功能。并能看到代码覆盖率。

第三阶段目标 - 通过测试程序和API 接口测试对于各种参数的支持。

对超出计算范围的数据进行处理,计算数不能超出-1000到1000,除数不能为0。

计算类:

package 软件测试;
import java.math.*;
public class Core
{
public int Add(int a,int b) throws Error//加法
{
if(a>1000||b>1000||a<-1000||b<-1000)
{
throw new Error("数值范围不能超出-1000到1000");
}
return a+b;
}
public int Subtraction(int a,int b) throws Error//减法
{
if(a>1000||b>1000||a<-1000||b<-1000)
{
throw new Error("数值范围不能超出-1000到1000");
}
return a-b;
}
public int multiplication(int a,int b) throws Error//减法
{
if(a>1000||b>1000||a<-1000||b<-1000)
{
throw new Error("数值范围不能超出-1000到1000");
}
return a*b;
}
public int Division(int a,int b) throws Error//除法
{
if(a>1000||b>1000||a<-1000||b<-1000)
{
throw new Error("数值范围不能超出-1000到1000");
}
if(b==0)
{
throw new Error("除数不能为0");
}
return a/b;
}
}
class Error extends Exception
{
public Error(String str)
{
super(str);
}
}


程序主类:

package 软件测试;

import java.util.*;;

public class Calculate {

public static void main(String[] args) throws Error {
// TODO Auto-generated method stub

Scanner sc=new Scanner(System.in);
Core core=new Core();
int a,b,d=0;
long result=0;
a=(int)(Math.random()*100);
b=(int)(Math.random()*100);
String c = null;
while(d==0)
{
System.out.print("请输入运算符:");
c=sc.nextLine();
if(c.equals("+")||c.equals("-")||c.equals("*")||c.equals("/"))
{
d=1;
break;
}
else
{
System.out.println("输入的运算符错误!");
}
}
System.out.print("题目:"+a+""+c+""+b+"=");
if(c.equals("+"))
{
result=core.Add(a, b);
System.out.print(result);
}
else if(c.equals("-"))
{
result=core.Subtraction(a, b);
System.out.print(result);
}
else if(c.equals("*"))
{
result=core.multiplication(a, b);
System.out.print(result);
}
else if(c.equals("/"))
{
result=core.Division(a, b);
System.out.print(result);
}
}

}


测试类:

package 软件测试;

import static org.junit.Assert.*;

import org.junit.Test;

public class CoreTest {

Core core=new Core();
@Test
public void testAdd() throws Error {
try{
int a=core.Add(1,2);
assertEquals(3,a);
}
catch(Error e)
{
e.printStackTrace();
}
}

@Test
public void testSubtraction() throws Error {
try{
int b=core.Subtraction(4,6);
assertEquals(-2,b);
}
catch(Error e)
{
e.printStackTrace();
}
}

@Test
public void testMultiplication() throws Error {
try
{
int c=core.multiplication(4,3);
assertEquals(12,c);
}
catch(Error e)
{
e.printStackTrace();
}
}

@Test
public void testDivision() throws Error {
//fail("Not yet implemented");
try
{
int d=core.Division(12,0);
assertEquals(3,d);
}
catch(Error e)
{
e.printStackTrace();
}
}

}


当输入的数据超出-1000到1000时:



当输入的除数为0时:



封装测试结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: