我们以下面这个被测方法为例进行说明。
public GsonBuilder setVersion(double version) {
if (Double.isNaN(version) || version < 0.0) {
throw new IllegalArgumentException("Invalid version: " + version);
}
excluder = excluder.withVersion(version);
return this;
}
这是一个很简单的方法,功能是设置GsonBuilder的版本,有两种情况会导致
抛出非法参数异常:①输入为Double.NaN ②输入为负数
那么我们显然可以在测试用例中构建以下两种非法输入,来验证对于异常输出,程序是否抛出正确类型的异常,并给与正确的异常信息(即:"Invalid version: XXX ")
GsonBuilder builder = new GsonBuilder();
builder.setVersion(Double.NaN);//①输入为Double.NaN
builder.setVersion(-0.1);//②输入为负数
<