我的TEST创建一个SimpleTimer的实例,其中1000为毫秒度量,以延迟线程1秒。线程问题。试图测试利用线程并似乎陷入循环的计时器
@Test
public void testSimpleTimerAsThread() throws InterruptedException
{
SimpleTimer st = new SimpleTimer(1000);
st.start();
Thread.sleep(250);
for(int x = 0; x<5; x++)
{
assertEquals(x, st.getRound());
Thread.sleep(1000);
}
}
我的方法
timeChanged()刚刚更新的回合数,并呼吁所有观察员的更新自己的时间。
public void start()
{
for(int r = 0; r<5; r++)
{
try
{
timeChanged();
Thread.sleep(1000);
}
catch (InterruptedException e)
{
}
}
}
SimpleTimer扩展了Thread并实现了一个并不真正混淆这个代码的接口。
当我运行此我得到了Java断言错误说,预计0,但在5所以X从未递增,在同一个线程一轮增长5
对于第一个assert等于,x = 0和round = 5是的,所以assert将失败。 – Pat
轮= 5与我的假设timeChanged(){round + 1} – Pat