java 板


LINE

版上的大大,不好意思請問 由於最近才剛研究TestCode還不是很熟,所以問得不好麻煩請鞭不要客氣 先貼上我的Source Code(changScore Method) / * * changSocre Method主要的功能是會先使用aGradeSystem class的showGrade Method * 功能是顯示舊成績如下Lab1 87 * Lab2 86 * Lab3 98 * Mid-Term 88 * Final Exam 94 *接下來可以 更改凌宗廷Lab1分數? (yes/no) no(輸入Yes就可以改,反之則不行) * 更改凌宗廷Lab2分數? (yes/no) yes * 輸入凌宗廷Lab2新分數 90 * 凌宗廷新分數Lab2 90 改好了 * 更改凌宗廷Lab3分數? (yes/no) no * 更改凌宗廷Mid-term分數? (yes/no) no * 更改凌宗廷Final exam分數? (yes/no) no * 更改分數962001044凌宗廷 完成了 * * * * * * */ public int[] changScore(){ System.out.println("姓名 "+findName(this.ID)); aGradeSystem.showGrade(this.ID); String check; cin = new Scanner(System.in); for(int i=0; i<5; i++){ System.out.println("更改"+findName(this.ID)+"Lab"+(i+1)+"分數? (yes/no)"); check=cin.next(); if(check.equals("yes")){ System.out.println("輸入"+findName(this.ID)+"Lab"+(i+1)+"新分數 :"); newScore[i]=cin.nextInt(); } } return newScore; } 接下來是我的TestCode: /*1~2行是將輸出到console setOut *3行是依序照我的功能描述輸入值 *4行期望的輸出 *5行將exceptReturn實際輸入並建立InContent *6行將inContent setIn *7行實際執行changScore Method *8~11行進行實際test */ public void test1() throws NoSuchIDExceptions { final ByteArrayOutputStream outContent = new ByteArrayOutputStream(); System.setOut(new PrintStream(outContent)); String exceptReturn="yes 100 yes 11 yes 100 yes 100 yes 100" int[] test={100,100,100,100,100}; final ByteArrayInputStream InContent = new ByteArrayInputStream(exceptReturn.getBytes()); System.setIn(InContent); int result[]=aUI.changScore(); assertEquals(test[0],result[0]); assertEquals(test[1],result[1]); assertEquals(test[2],result[2]); assertEquals(test[3],result[3]); assertEquals(test[4],result[4]); } 問題點在於會卡在changScore Method中的aGradeSystem.showGrade();這行 但我又把TestshowGrade的測試碼補上去也還是沒辦法解決 但是最後我直接把changScore Method中的aGradeSystem.showGrade(); 這行註解掉就可以測試成功 我有點在亂槍debug因為實在不知道問題在哪~"~ 但是我去看別人的TestCode,可是其中也有像showGrade() Method在其中但也相安無事 我可以請有寫過TestCode的大大給我一些Hits嘛?或是告訴我哪裡寫錯 不好意思 我知道我的問題問得不是很好...但時間有點急迫,我明天必須有點成果出來,所以... 拜託各位大大了 謝謝 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.236.1 ※ 編輯: pugboy 來自: 140.115.236.1 (06/09 15:26) ※ 編輯: pugboy 來自: 140.115.236.1 (06/09 15:29)
1F:→ qrtt1:為什麼最可疑的 aGradeSystem.showGrade() 沒有 source code 06/09 15:41
2F:→ qrtt1:另外哪有 unit test 還要手動輸入的 Orz 06/09 15:43
3F:→ qrtt1:把 User Input Interface 跟 logic 隔離出來才是好的方法 06/09 15:47
4F:→ PsMonkey:鎖文原因同 qrtt1 第一個推文 06/09 16:02
/* method showGrade ---------------------------------------------- * aGradeSystem會呼叫此method,印出傳入的ID的學生成績. * @param ID 想要查詢學生成績的ID. * * Time estimate : O(n) n:系統內學生的數量. * * Example: * 在系統中有一筆資料為:962001051 李威廷 81 98 84 90 93 91 * aGradeSystem.showGrade("962001044"); * 結果會印出: * 李威廷成績:lab1:81  * lab2:98  * lab3:84  * mid-term :90  * final:93 * total grade :91 */ /* pseudo code * public showGrade(ID) { show 這 ID 的 grade } * */ public void showGrade(String ID) { Grades find=null; for(Grades a:aList) { if(a.getID().equals(ID)) { find=a; } } System.out.println(find.getName()+"成績:"); System.out.println(" Lab1: "+find.getLab1()); System.out.println(" Lab2: "+find.getLab2()); System.out.println(" Lab3: "+find.getLab3()); System.out.println(" mid-term: "+find.getMidTerm()); System.out.println(" final: "+find.getFinalExam()); System.out.println(" totall Grade : "+find.getTotalGrade()); } ※ 編輯: pugboy 來自: 140.115.236.1 (06/09 16:07) ※ 編輯: pugboy 來自: 140.115.236.1 (06/09 16:07)
5F:→ pugboy:這樣可以解文嘛QQ 拍謝 06/09 16:08
6F:→ pugboy:回q大 我這樣不算隔離出來嗎~"~ 謝謝 06/09 16:14
7F:→ qrtt1:勉強算,但很醜。 06/09 16:17







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP