
org.test4j.mock.faking.fluent.MockMethodWithTimes Maven / Gradle / Ivy
package org.test4j.mock.faking.fluent;
import org.test4j.mock.faking.meta.TimesVerify;
/**
* 自定义mock行为
*
* @author darui.wu
*/
public class MockMethodWithTimes extends MockMethod {
private final String classMethod;
public MockMethodWithTimes(FluentMockUp mockUp, String realClass, String name, String desc) {
super(mockUp, realClass, name, desc);
this.classMethod = mockUp.getFakeClass(realClass) + "#" + name + desc;
}
/**
* 调用次数不少于times次
*
* @param times
* @return
*/
public MockMethod min(int times) {
TimesVerify.min(this.classMethod, times);
super.mockUp.apply();
return this;
}
/**
* 调用次数不超过times次
*
* @param times
* @return
*/
public MockMethod max(int times) {
TimesVerify.max(this.classMethod, times);
super.mockUp.apply();
return this;
}
/**
* 方法应该不被调用
*/
public void never() {
TimesVerify.never(this.classMethod);
super.mockUp.apply();
}
/**
* 调用次数在 [min, max]之间
*
* @param min
* @param max
* @return
*/
public MockMethod between(int min, int max) {
TimesVerify.between(this.classMethod, min, max);
super.mockUp.apply();
return this;
}
/**
* 恰好调用times次
*
* @param times
* @return
*/
public MockMethod just(int times) {
TimesVerify.just(this.classMethod, times);
super.mockUp.apply();
return this;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy