20155312张竞予 20170510实践一:在IDEA中以TDD的方式对String类和Arrays类进行学习
實踐題目
在IDEA中以TDD的方式對String類和Arrays類進行學習
測試相關方法的正常,錯誤和邊界情況
String類
charAt
split
Arrays類
sort
binarySearch
課上未能及時提交的原因
對單元測試掌握不熟,在老師演示具體方法之前,自己的思路是建立一個空的MyArrays類,然后建立它的測試類MyArraysTest,在測試類中定義變量,進行sort binarySearch操作后,再建立兩個Tester,在其中利用斷言測試結果與預期值是否相同。
經過老師的提點,了解到可以直接在實驗二已有測試代碼中直接添加兩個Tester,不需要新建測試類。但在操作過程中,又出現了新的疑問,到底把新建測試實例、排序等準備工作放在Tester內部還是外部呢?
經過老師的演示,我在兩個測試用例內部建立了測試實例,并調用sort函數對實例進行排序。
最終完成了任務,但是由于自己平時是在虛擬機里編寫代碼,idea中目錄結構與虛擬機中的不同,時間緊迫沒有在idea中clone自己的項目,也沒有把代碼粘貼到虛擬機里。所以最終未能將代碼及時推到碼云上。
代碼
//前面的代碼就是實驗二中StringBufferTest的代碼,與本實踐無關,所以省略
@Test
public void StringTester() {
String string="aa:30:3:5";
String[] strings=string.split(":");
assertEquals(':',string.charAt(2));
assertEquals("30",strings[1]);
}
@Test
public void ArraysTester() {
int[] arr={1,2,5,4};
Arrays.sort(arr);
assertEquals(5,arr[3]);
assertEquals(1,binarySearch(arr,2));
}
碼云鏈接
從Windows的IDEA里復制到虛擬機中的代碼格式上看著有點別扭,所以還是把完整代碼寫在這里方便老師檢查。
import junit.framework.TestCase;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import static java.util.Arrays.binarySearch;
import static org.junit.Assert.*;
/**
* Created by dell1 on 2017/4/20.
*/
public class StringBufferDemoTest extends TestCase {
StringBuffer string1 = new StringBuffer("Beautiful");
StringBuffer string2 = new StringBuffer("Beautiful Girls");
StringBuffer string3 = new StringBuffer("Beautiful Girls and Boys");
@Test
public void testCharAt(){
assertEquals('a',string1.charAt(2));
assertEquals(' ',string2.charAt(9));
assertEquals('a',string3.charAt(16));
}
@Test
public void testCapacity(){
assertEquals(25,string1.capacity());
assertEquals(31,string2.capacity());
assertEquals(40,string3.capacity());
}
@Test
public void testindexOf() {
assertEquals(1, string3.indexOf("ea"));
}
@Test
public void testlength() {
assertEquals(9, string1.length());
}
@Test
public void StringTester() {
String string="aa:30:3:5";
String[] strings=string.split(":");
assertEquals(':',string.charAt(2));
assertEquals("30",strings[1]);
}
@Test
public void ArraysTester() {
int[] arr={1,2,5,4};
Arrays.sort(arr);
assertEquals(5,arr[3]);
assertEquals(1,binarySearch(arr,2));
}
}
截圖
收獲
通過這次實踐以及對本篇博客的撰寫,我再一次學習了老師Intellj IDEA 簡易教程中的單元測試部分,對于一些稍有遺忘的知識又加深了印象,最重要的是能夠更為靈活的使用單元測試。
總結
以上是生活随笔為你收集整理的20155312张竞予 20170510实践一:在IDEA中以TDD的方式对String类和Arrays类进行学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pop to 特定的UIViewCont
- 下一篇: 【Cocos2d-Js基础教学 入门目录