在IDEA中以TDD的方式对String类和Arrays类进行学习
目的
-老师主要想让我们知道如何检查自己的代码有无bug。让我们掌握如何测试自己的代码。TDD一种很重要的方式
题目
-
测试相关方法的正常,错误和边界情况
-
String类
- charAt
- split
-
Arrays类
- sort
- binarySearch
-
提交运行结果截图和码云代码链接,截图没有水印的需要单独找老师验收才有成绩
原代码(实验二中StringBufferTest的代码)
public class StringBufferDemo{
StringBuffer buffer = new StringBuffer();
public StringBufferDemo(StringBuffer buffer){
this.buffer = buffer;
}
public Character charAt(int i){
return buffer.charAt(i);
}
public int capacity(){
return buffer.capacity();
}
public int length(){
return buffer.length();
}
public int indexOf(String buf) {
return buffer.indexOf(buf);
}
}
测试代码
import junit.framework.TestCase;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* Created by Administrator on 2017/4/21 0021.
*/
public class StringBufferDemoTest extends TestCase {
StringBuffer a = new StringBuffer("StringBuffer");//测试12个字符(<=16)
StringBuffer b = new StringBuffer("StringBufferStringBuffer");//测试24个字符(>16&&<=34)
StringBuffer c = new StringBuffer("StringBufferStringBufferStringBuffer");//测试36个字符(>=34)
@Test
public void testcharAt() throws Exception{
assertEquals('S',a.charAt(0));
assertEquals('g',a.charAt(5));
assertEquals('r',a.charAt(11));
}
@Test
public void testcapacity() throws Exception{
assertEquals(28,a.capacity());
assertEquals(40,b.capacity());
assertEquals(52,c.capacity());
}
@Test
public void testlength() throws Exception{
assertEquals(12,a.length());
assertEquals(24,b.length());
assertEquals(36,c.length());
}
@Test
public void testindexOf() throws Exception{
assertEquals(0,a.indexOf("Str"));
assertEquals(5,a.indexOf("gBu"));
assertEquals(10,a.indexOf("er"));
}
}
运行截图
代码托管
收获
本次补交实验过程中解决了长期以来的idea中的问题
解决办法如下
1.点击工具栏的File按钮----》project structure(或者选中project按键盘的F4)打开项目结构面板。
2.点击Project Settings 下的Project,在Project compiler output中点击最右边的 ... 指定你的项目目录下的output文件夹(如果你的目录下没有,自己手动创建一个),然后点ok确定项目配置即可。
实验感想:
重温此次实践,对代码有了深刻认识,能模仿代码做一些修改,看懂代码作用,意义。对实验二和此次实验两次,对TDD 做了一些很好的诠释。伪代码到产品代码的路还很长,不仅仅是一个TDD,还需要大量的基础知识,和大量的代码行数。