欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JUnit测试书写练习(一)

程序员文章站 2022-04-05 17:09:09
...

练习1


计算机科学学生Peter开发的一个应用程序接受一个数并返回该数各位的和。您被分派的任务是在以下场景上创建测试用例:
取一位整数值作为输入的测试用例
取两位整数值作为输入的测试用例
取三位整数值作为输入的测试用例
在用户输入负值时使测试不通过的测试用例
在用户输入小数值时处理异常的测试用例

您将如何完成此任务?
 

SumDigis.java
package sumdigits;

public class SumDigits {
    public int sum(int num)
    {   int sum=0;
        while(num>0)
        {
            sum=sum+num%10;
            num=num/10;
        }
        return sum;
    }
    public static void main(String[] args) {
        // TODO code application logic here
    }  
}
SumDigitsTest.java
package sumdigits;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

public class SumDigitsTest {
    
    public SumDigitsTest() {
    }
    
    @BeforeClass
    public static void setUpClass() {
    }
    
    @AfterClass
    public static void tearDownClass() {
    }
    
    @Before
    public void setUp() {
    }
    
    @After
    public void tearDown() {
    }
    //取一位整数值作为输入的测试用例
      @Test
    public void testsumdigits1() {
        System.out.println("Testing 一位整数");
        SumDigits sum = new SumDigits();
        int expResult = 5;
        int result = sum.sum(5);
        assertEquals(expResult, result);
    }
    
    //取两位整数值作为输入的测试用例
          @Test
    public void testsumdigits2() {
        System.out.println("Testing 两位整数");
        SumDigits sum = new SumDigits();
        int expResult = 7;
        int result = sum.sum(25);
        assertEquals(expResult, result);
    }
    
    //取三位整数值作为输入的测试用例
          @Test
    public void testsumdigits3() {
        System.out.println("Testing 三位整数");
        SumDigits sum = new SumDigits();
        int expResult = 6;
        int result = sum.sum(150);
        assertEquals(expResult, result);
    }
    
    //在用户输入负值时使测试不通过的测试用例
          @Test
    public void testsumdigits4() {
        System.out.println("Testing 负数不通过测试");
        SumDigits sum = new SumDigits();
        //  String expresult = null; 
        int expResult = -2;
        int result =sum.sum(-20);
        assertEquals(expResult,result);
    }
    
    //在用户输入小数值时处理异常的测试用例
@Test(expected = IllegalArgumentException.class)
	public void testsumdigits5(){
         SumDigits sum = new SumDigits();
         int expResult = 6;
         int result = sum.sum((int)150.00);    //强制数据类型转换
         assertEquals(expResult,result);        
        }

}

测试结果:JUnit测试书写练习(一) 

测试类书写模板:

@Test

public void 测试方法名(){

实例化java类对象;

期望值 = 手动计算测试用例的值;

实际值 = 实例化类对象.调用java方法(测试用例);

assertEquals(期望值,实际值);

}

练习2


Harry 开发了应用程序以检查输入的字符是元音还是辅音。该函数将一个字符取为输入,井在字符是元音字符的情况下返回vowel,否则返回consonant。现在他被分派的任务是通过为所有可能场景(例如检查元音和检查辅音)创建测试用例来测试此应用程序。如果测试用例不通过,应该显示相应的人可读的错误消息。
帮助Harry完成此任务。

VowelConsonant.java

package vowelconsonant;
public class VowelConsonant {
   public String check(String character)
    {
        String v="vowel";
        String c="consonant";
        if(character=="a"||character=="e"||character=="i"||character=="o"||character=="u")
        {
            return v;
        }
        else
        {
            return c;
        }
    }
    public static void main(String[] args) {
    }   
}
VowelConsonantTest.java
package vowel;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
import vowelconsonant.VowelConsonant;

public class VowelTest {
    
    public VowelTest() {
    }
    
    @BeforeClass
    public static void setUpClass() {
    }
    
    @AfterClass
    public static void tearDownClass() {
    }
    
    @Before
    public void setUp() {
    }
    
    @After
    public void tearDown() {
    }
    //字符是元音字符的情况下返回vowel
    @Test
    public void VowelTest1(){
    VowelConsonant v = new VowelConsonant();
    String expResult = "vowel";
    String result = v.check("o");
    assertEquals(expResult,result);
    }
    //字母是辅音字母的情况下返回consonant
        @Test
    public void VowelTest2(){
    VowelConsonant v = new VowelConsonant();
    String expResult = "consonant";
    String result = v.check("f");
    assertEquals(expResult,result);
    }
}

测试结果:JUnit测试书写练习(一)

相关标签: junit