我创建了一个计时器类,并正在使用 junit4 对其进行测试。计时器通知另一类时间,然后激活一个方法。在测试时,我无法检查发送给观察者的值,因为编译器卡在用于计时器的始终循环中。这是计时器的测试和启动代码。
public void testSimpleTimerAsThread() throws InterruptedException
{
SimpleTimer st = new SimpleTimer(1000);
st.start();
Thread.sleep(250); // So we are 1/4th a second different
for (int x=0;x<5;x++)
{
assertEquals(x, st.getRound()); // assumes round starts at
Thread.sleep(1000); // wait for the next time change
}
}
public void start()
{
while (flag)
{
timeChanged();
try
{
// Sleep for var seconds.
Thread.sleep(1000);
}
catch (InterruptedException e)
{
}
}
}
谢谢您的帮助。