소스 검색

Improve AbstractTimeBasedTest in sentinel-core

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
master
Eric Zhao 5 년 전
부모
커밋
7d344dcb95
1개의 변경된 파일13개의 추가작업 그리고 5개의 파일을 삭제
  1. +13
    -5
      sentinel-core/src/test/java/com/alibaba/csp/sentinel/test/AbstractTimeBasedTest.java

+ 13
- 5
sentinel-core/src/test/java/com/alibaba/csp/sentinel/test/AbstractTimeBasedTest.java 파일 보기

@@ -23,28 +23,36 @@ import org.powermock.modules.junit4.PowerMockRunner;
import com.alibaba.csp.sentinel.util.TimeUtil;

/**
* Mock support for {@link TimeUtil}
* Mock support for {@link TimeUtil}.
*
* @author jason
*
*/
@RunWith(PowerMockRunner.class)
@PrepareForTest({ TimeUtil.class })
public abstract class AbstractTimeBasedTest {

private long currentMillis = 0;
{
PowerMockito.mockStatic(TimeUtil.class);
PowerMockito.when(TimeUtil.currentTimeMillis()).thenReturn(currentMillis);
}

protected final void useActualTime() {
PowerMockito.when(TimeUtil.currentTimeMillis()).thenCallRealMethod();
}

protected final void setCurrentMillis(long cur) {
currentMillis = cur;
PowerMockito.when(TimeUtil.currentTimeMillis()).thenReturn(currentMillis);
}
protected final void sleep(int t) {
currentMillis += t;
PowerMockito.when(TimeUtil.currentTimeMillis()).thenReturn(currentMillis);
}

protected final void sleepSecond(int timeSec) {
sleep(timeSec * 1000);
}
}

Loading…
취소
저장