我似乎无法测试此功能。如果该值与正则表达式不匹配,则会转到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);
}