double checkAndReturnDoubleIfOk(String stringToCheck) {
double price = 0;
try {
price = Double.valueOf(stringToCheck);
} catch (NumberFormatException e) {
System.err.println("Price is not a number");
return -1;
}
String[] array = stringToCheck.split("\\.");
if (array[1].length() < 3 & price > 0) {
return price;
} else {
throw new WrongCostFormat();
}
}
@Test(expected = WrongCostFormat.class)
public void shouldThrowNumberFormatException() {
Product mock = mock(Product.class);
double number = mock.checkAndReturnDoubleIfOk("1.234");
}
Run Code Online (Sandbox Code Playgroud)
我是JUnit和Mockito世界的新手,无法弄清楚,为什么测试失败了.有什么建议?我调试了测试文件,似乎数字是0.0而不是抛出异常...包异常;
public class WrongCostFormat extends RuntimeException {
public WrongCostFormat() {
super();
}
public WrongCostFormat(String s) …Run Code Online (Sandbox Code Playgroud)