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)注释掉错误情况后的通过测试的情况
四、参考资料
好运永远只留给努力奋斗的人