Browse Source

Improve AbstractTimeBasedTest in sentinel-core

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
master
Eric Zhao 5 years ago
parent
commit
7d344dcb95
1 changed files with 13 additions and 5 deletions
  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 View File

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


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

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

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

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

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

Loading…
Cancel
Save