gpt4 book ai didi

c# - 使用 nMoq,人们对给定的事件有何期望?

转载 作者:太空宇宙 更新时间:2023-11-03 11:46:22 24 4
gpt4 key购买 nike

假设我想在我有这个俄罗斯方 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

关于c# - 使用 nMoq,人们对给定的事件有何期望?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3325729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com