在扫描仪之前停止该功能

时间:2017-03-30 03:02:24

标签: java junit

我似乎无法测试此功能。如果该值与正则表达式不匹配,则会转到else语句。但是else语句有一个扫描程序,所以JUnit类会要求输入一个有效值,直到它与正则表达式匹配。有没有办法在函数进入else之前停止它?

public String addName(String name){

    String setName = "";

    while(true) {
        if(name.matches("[a-zA-Z ]{1,30}")) {   
            setName = name;
            break;
        } else {
            System.out.println("Please enter a valid name");
            name = scan.nextLine();
        }
    }

    return setName;
}

@Test
public void test(){

    String name = "1001";
    String setname = person.addName(name);
    assertEquals(name,setname);

}

0 个答案:

没有答案