[問題] JUnit 如何連續輸入?
我現在要用JUnit測試一個小遊戲-井字遊戲
這是小遊戲的class,先不用看
http://pastie.org/5587003
井字遊戲的九格應對1~9
1│ 2│ 3
─┼─┼─
4│ 5│ 6
─┼─┼─
7│ 8│ 9
輸入哪一個代表我要下哪一個,我要下左上角,就輸入1
會跟電腦對下
所以我再測試(JUnit)的時候
我要測流程,所以必須設定我要下哪裡
例如說,我要讓電腦獲勝,就要連續輸入1 3 8 9 6這樣
我Google完找到這個
InputStream si = System.in; // 先記錄從鍵盤來輸入
System.setIn(new ByteArrayInputStream("1\n".getBytes("UTF-8"))); // 輸入1進去
System.setIn(si); // 改回從鍵盤輸入
但是這個只能輸入一項東西
而且因為我的遊戲必須連續輸入N次
所以這樣非但沒法連續輸入
還會出現 Error (我覺得是System.in改變,下一個scan就沒有輸入的地方)
請問該怎麼樣讓他連續輸入?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.106.223
推
12/28 13:19, , 1F
12/28 13:19, 1F
推
12/28 13:54, , 2F
12/28 13:54, 2F
遊戲本身要讓玩家輸入
每個case都要輸入一些東西,我要讓他自動化測試
所以要讓Test case中自己輸入東西進去測試流程
※ 編輯: blackohnny 來自: 140.123.106.223 (12/28 17:24)
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):