作者blackohnny (黑)
看板java
标题[问题] JUnit 如何连续输入?
时间Fri Dec 28 12:24:44 2012
我现在要用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
1F:推 popcorny:自动化测试怎麽还会要使用者介入呢? 12/28 13:19
2F:推 swpoker:自动化就是自己手动化~看来楼上没做过测试喔 (误) 12/28 13:54
游戏本身要让玩家输入
每个case都要输入一些东西,我要让他自动化测试
所以要让Test case中自己输入东西进去测试流程
※ 编辑: blackohnny 来自: 140.123.106.223 (12/28 17:24)