Caculator.java
public class Caculator {
public int Add(int a, int b){
return a+b;
}
protected int Subtract(int a, int b){
return a-b;
}
public int Multiply(int a, int b){
return a*b;
}
public int Divide(int a, int b)throws Exception{
if(0 == b){
throw new Exception("Divisor is 0!");
}
return a/b;
}
public int Sum(int n){
int sum = 0;
int count = 1;
while(count<n){
sum+=count;
}
return sum;
}
public String Str(){
String str1 = null;
return str1;
}
}
CaculatorTest.java
public class CaculatorTest {
private static Caculator cac = null;
@AfterClass
public static void AfterClass(){
System.out.println("After");
System.out.println(Integer.MAX_VALUE);//打印最大整数:2147483647
System.out.println(Integer.MIN_VALUE);//打印最小整数:-2147483648
}
@After
public void AftertestSubstract(){
System.out.println("AftertestSubstract");
}
@Before
public void BeforetestSubstract(){
System.out.println("BeforetestSubstract");
}
@BeforeClass
public static void BeforeClass(){
cac = new Caculator();
}
@Test
public void testSubstract() {
int z = cac.Subtract(3,2);
Assert.assertEquals(1, z);
System.out.println("testSubstract");
}
@Test
public void testAdd(){
int z = cac.Add(1,2);
Assert.assertFalse("testAdd", (z==3));
System.out.println("testAdd");
}
@Test
public void testAddException(){
int z = cac.Add(2147483647, 2);
//System.out.println("z" + z);
Assert.assertTrue(z>0);
}
@Test(timeout = 100)
public void testSum(){//程序代码出错
cac.Sum(10);
}
@Test
public void testMultiplyExceptin(){
int z = cac.Multiply(1000000, 1000000);
System.out.println(z);
Assert.assertTrue(z>0);//Failure指的是预期的结果与实际运行单元的结果不同所导致
}
@Test
public void testDivideException(){
try{
cac.Divide(5, 0);
fail();
}catch(Exception e){
Assert.assertEquals("Divisor is 0!", e.getMessage());
}
}
@Test
public void testDivide(){
try{
cac.Divide(5, -2);
}catch(Exception e){
fail();
}
}
@Test
public void testStr(){
String s = cac.Str();
try{
s.charAt(0);//调用s的成员方法,报空指针错误
fail();
}catch(Exception e){
e.printStackTrace();
}
}
}
<!--简单计算器-->