代码之家  ›  专栏  ›  技术社区  ›  Stanislav Kniazev

测试或不测试-键盘挂钩功能

  •  0
  • Stanislav Kniazev  · 技术社区  · 15 年前

    我想要测试的类尚未编写(我记得,我需要先编写测试),但它将有一个方法来钩住Windows快捷键组合(作为参数传递),并在按下该组合键时引发事件。那么,我如何着手测试这样一个案例呢?我需要先编写按键模拟例程吗?我是否需要按键模拟的单元测试,或者快捷挂钩测试是否会“取消”对它的需求?这是一个单元测试还是被称为其他方式?

    这个问题的要点很有教育意义,我完全理解这不是单元测试的最佳案例,可能不值得付出努力。我只想使用非平凡场景来更好地理解这些原则。

    2 回复  |  直到 15 年前
        1
  •  0
  •   Brad Cunningham    15 年前

    我倾向于同意cmw。

    一般的方法是对您编写的代码的逻辑进行单元测试,而不是从Windows(或任何其他外部“服务”)依赖的管道

    测试实际的键盘按键功能,IMO,将是一个“集成”测试。例如,作为测试脚本的一部分所做的事情,将由QA执行。

    单元测试此场景的关键是将对按键操作的依赖性与响应按键操作的方法中的逻辑分离。这就是单元测试变得非常有价值的地方。它们突出显示了代码中可以重新分解以符合 SRP .

        2
  •  0
  •   cmw    15 年前

    我假设您首先编写一个直接调用Hook方法的测试,并检查a)是否引发了某个事件,b)是否在被测试的类中设置了某个值。

    像键盘事件模拟器这样的硬东西会在以后出现(如果需要的话)。这将是第一步,并将影响设计钩子类的方式。希望它能以这样一种方式影响它,使钩子类具有足够的可扩展性,能够使用Windows快捷方式和单元测试。