假设我想在我有这个俄罗斯方 block 游戏的地方进行单元测试,我想开始游戏,什么也不做,然后等待游戏结束(这是为了获得 GameOver 事件):
Tetris tetris = new Tetris();
tetris.GameOver += something;
tetris.Start();
我应该如何进行测试?这应该很容易,但我不知道该怎么做。我唯一的想法是以下形式:
Tetris tetris = new Tetris();
tetris.GameOver += delegate() { Assert.True(); };
tetris.Start();
谢谢
假设 tetris.Start()
是同步的,您可以使用事件处理程序向测试发出信号:
Tetris tetris = new Tetris();
bool wasRaised = false;
tetris.GameOver += delegate() { wasRaised = true; };
tetris.Start();
Assert.IsTrue(wasRaised);
如果调用是异步的,您必须同步调用才能到达测试上下文中的 Assert
。
我是一名优秀的程序员,十分优秀!