单元测试鼠标事件处理程序

jpf*_*ius 4 delphi components unit-testing

对单元进行单元测试时,发生以下问题:

有许多与鼠标相关的事件处理程序.我看到有两种可能性来测试这些处理程序:

  1. 使用Windows API调用模拟鼠标事件.
  2. 使用受保护的hack访问受保护的事件处理程序并直接调用它们.

我知道单元测试通常仅限于类的接口(这也意味着在类内部更改时不必更改测试),但这种情况是否值得例外?

在单元测试组件时,您通常如何处理鼠标事件?

Mar*_*ema 7

就个人而言,我认为您需要进行体系结构更改以促进自动化用户界面测试.本文很好地阐述了原因:http://blog.objectmentor.com/articles/2010/01/04/ui-test-automation-tools-are-snake-oil

Delphi杂志曾经有一篇关于从代码自动测试用户界面的有趣文章(没有特定的gui测试工具).花费的时间比我预期的要长,可能无法在线获取.如果我发现它,我会更新我的答案.

文章是Julian Bucknall(DevExpress)的"创建易于测试的用户界面",并发表在"The Delphi Magazine"的第120期.不幸的是,该文章已不再在线.您必须购买The Delphi Magazine的全部产品系列:1 GB USB记忆棒,所有问题和所有代码都在The Delphi Magazine上发布.非常值得36英镑!(不,我没有收到佣金).