junit扫描系统

时间:2015-10-26 12:29:35

标签: java eclipse junit

好的,所以我刚刚开始学习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。

谢谢!

1 个答案:

答案 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;
}
}