这儿还有一个特定的设置返回值的方法:setDefaultReturnValue()。他将代替方法的参数值作为返回值,缺省的调用次数限制为Range.ONE_OR_MORE。这被称为方法参数值敏感性。
...
foo.bar(10);
//define the behavior -- return "ok" when calling
//bar(int) despite the argument value.
setDefaultReturnValue("ok");
...
o setThrowable
setThrowable(Throwable throwable)被用来定义方法调用异常抛出的行为。如果给定的throwable不匹配方法的异常定义,则AssertionFailedError会被抛出。调用次数的限制与方法参数值敏感性是一致的。
...
try {
foo.dummy();
} catch (Exception e) {
//skip
}
//define the behavior -- throw ParseException
//when call dummy(). And this method is expected
//to be called exactly once.
control.setThrowable(new ParseException("", 0), 1);
...
o setVoidCallable()
setVoidCallable()被用于没有返回值的方法。调用次数的限制与方法参数值敏感性是一致的。
...
try {
foo.dummy();
} catch (Exception e) {
//skip
}
//define the behavior -- no return value
//when calling dummy(). And this method is expected
//to be called at least once.
control.setVoidCallable();
文章来源于领测软件测试网 https://www.ltesting.net/