单元测试
嗯,让我们从一个简单问题开始:怎样测试GUI应用程序?怎样测试QML应用程序?测试非GUI类很简单:只需要实例化一个类,调用它的方法,并检查结果。在Qt GUI场景,很幸运地,我们可以采用类似的策略:我们先调用槽或事件处理方法,然后比对相应widget对象的属性。
实践中我们可以通过先写测试代码,之后交付一个满足测试代码的实现,这被称为测试驱动开发(test-driven development, TDD)。然而在Qt UI开发中,完全采用TDD有点不切实际,因为我们必须完成UI的整体视觉外观后才能开始测试。
那么,让我们采用一种较为适度的单元测试方法,即为单个类写测试例。我们可以用两种方法来做:一是使用一种类似与传统的JUnit的单元测试框架,或者用工具来录制鼠标按键或键盘动作来自动创建测试例。