Arrays和String单元测试(课下作业,选做)

一、任务详情

在IDEA中以TDD的方式对String类和Arrays类进行学习

  • 测试相关方法的正常,错误和边界情况
  • String类
    • charAt
    • split
  • Arrays类
    • sort
    • binarySearch

二、源代码

1. String类

  • 测试代码
import junit.framework.TestCase;
import org.junit.Test;
import java.lang.String;
public class ClassStringTest extends TestCase {
    String a1 = "String Buffer";
    String a2 ="StringBuffer StringBuffer";
    String a3 ="StringBuffer used by 20175215";

    @Test
    public void testCharAt() throws Exception{//验证返回是否是整个字符串中的第x个字符
        assertEquals('S',a1.charAt(0));//1
        assertEquals('t',a2.charAt(14));//2
        assertEquals('b',a3.charAt(18));//3
        //assertEquals('u',a3.charAt(19));//4
        assertEquals('5',a3.charAt(28));//5
    }
    @Test
    public void testSplit() throws Exception{
        assertEquals("String",a1.split(" ")[0]); //1
        assertEquals("StringBuffer", a2.split(" ")[1]); //2
        assertEquals("by", a3.split(" ")[2]); //3
        //assertEquals(".",a1.split(" ")[0]); //4
    }
}


- (1)testCharAt()中5号代码为测试错误情况,6号代码为边界情况。
- (2)testSplit()中4号代码为测试错误情况

2.Arrays类

  • 测试代码
import junit.framework.TestCase;
import org.junit.Test;
import java.util.Arrays;
import static java.util.Arrays.binarySearch;
public class ArraysTest extends TestCase {
    int[] i = {1,7,5,2};

    @Test
    public void testSort() {
        Arrays.sort(i);
        assertEquals(1, i[0]); //1
        assertEquals(2, i[1]); //2
        assertEquals(5, i[2]); //3
        assertEquals(7, i[3]); //4
        //assertEquals(5, i[3]); //5
    }
    @Test
    public void testSearch() {
        Arrays.sort(i);
        assertEquals(0, binarySearch(i,1)); //1
        assertEquals(1, binarySearch(i,2)); //2
        assertEquals(2, binarySearch(i,5)); //3
        assertEquals(3, binarySearch(i,7)); //4
    }
}

testSort()中5号代码为测试错误情况

三、运行截图

1.String类

(1)测试错误和边界情况

(2)注释掉错误和边界情况后的通过测试的情况

2.Arrays类

(1)测试错误情况

(2)注释掉错误情况后的通过测试的情况

四、参考资料

1.Java String.split()用法小结

posted @ 2019-04-21 16:58  20175215丁文韬  阅读(198)  评论(0编辑  收藏  举报