|
|
1
5
我想你已经说对了。测试需要等到事件发生或者您判断到达时间太长,应该放弃等待。 要做到这一点,您可以使用monitor.wait和超时测试,并让它与monitor.pulse信号当事件到达。
(The
|
|
|
2
2
也许这只是一个糟糕的例子,但是你的电梯听起来更像一个状态机,而不是异步处理的东西。 所以第一组测试可以测试gotoflor()是否将状态设置为moving,以及它的移动方向是否正确。 接下来的一组测试将在testelevatorArrived()上进行,并将测试如果您的状态正在向某一楼层移动,则实际的移动(即,在异步等待之后调用的函数,或触发“moved”事件的硬件处理程序)将把状态设置为预期楼层。 否则,您测试的很可能是您对硬件的模拟正确地模拟了计时和移动,这似乎不正确。 |
|
|
3
2
这是我类似的方法。
还可以测试waitOne()调用的返回值,以检查是否调用了事件处理程序。 |
|
|
4
0
我真的不喜欢上面monitor.pulse/wait方法的比赛状态。 一个不太好但有效的方法是这样的:
我不喜欢这个解决方案,因为如果电梯在500毫秒内到达,你就得再等4500毫秒。如果你有很多这样的测试,而且你希望测试很快,我会完全避免这种情况。但是,这种测试也可以作为性能/健全性检查的双重功能。 想确保电梯在2秒内到达吗?更改超时。 |
|
OREO · 如何在不实际单击复选框的情况下选中它 2 年前 |
|
|
Dan · 在元素外部设置html点击处理程序点击后立即触发 2 年前 |
|
|
Mero · Svelte在父事件调用上调用新的嵌套事件处理程序 2 年前 |
|
|
iorice · usercontrol dll中的组件事件 2 年前 |
|
|
Awin · 点击事件功能不适用于Vue组件 2 年前 |
|
|
Kiwi · 将可共享的自定义数据添加到事件MS图形api 3 年前 |