好的,所以我刚刚开始学习tdd,在我的第一个项目中已经有了一些我无法理解的东西。这是一个缩短版本,但给我相同的结果: 在eclipse中这是单元测试:
public class fftest {
Klasica klas = new Klasica();
@Test
public void testOne() {
String s = klas.first();
assertEquals("first", s);
}
@Test
public void testTwo() {
String s= klas.second();
assertEquals("second", s);
}
}
这是测试的课程:
public class Klasica {
public String first(){
Scanner scan = new Scanner(System.in);
System.out.println("first method: ");
String s = scan.next();
scan.close();
return s;
}
public String second(){
Scanner scan = new Scanner(System.in);
System.out.println("second method: ");
String s = scan.next();
scan.close();
return s;
}
}
结果:一个测试我输入正确的字符串,下一个打印println并在我输入文本之前失败。跟踪失败说:java.util.NoSuchElementExpection。
谢谢!
答案 0 :(得分:0)
所以事实证明我正在关闭System.in,这有效:
public class Klasica {
public String first(){
Scanner scan = new Scanner(System.in);
System.out.println("first method: ");
String s = scan.next();
return s;
}
public String second(){
Scanner scan = new Scanner(System.in);
System.out.println("second method: ");
String s = scan.next();
return s;
}
}