2011-03-13 102 views
13

我使用Qt Creator和qmake来创建我的项目和我的测试项目(QTest测试)。我现在有测试项目自己运行,但我很难理解如何从我的正常项目中测试类。我可以在测试用例中包含项目中的.h文件,但这当然是不够的。Qt Creator中的单元测试设置

它抛出我的链接器错误,因为它没有代码或库来查找类的代码。有一种简单的方法可以让qmake查找特定文件夹中的所有源文件来加载它们吗?或者建立这样一个测试项目的正确方法是什么,而不必将每个源文件也添加到测试项目中,或者将您的应用程序编译到库中以包含?

回答

4

是否有一种简单的方法可以让QMake查找特定文件夹中的所有源文件来加载它们?

QMAKE支持通配符,所以你可以在你的项目文件中像

SOURCES += *.cpp 
HEADERS += *.h 

此外请务必将MOC_DIRRCC_DIR指向源文件夹以外的其他位置。您不想在您的SOURCES中包含生成的源文件。

或者有什么是要建立这样一个测试项目,而无需另外添加的每个源文件添加到测试项目或编译你的应用程序到LIB包括

我宁愿分开的正确方法我的自动化测试分为两类:

  • 单元测试测试单个组件(通常位于源文件中)。我嘲笑依赖到系统的其他部分。每个单元测试都是自己的Qt项目,只包括正在测试的源文件+测试代码+模拟代码。

  • 集成测试测试组件的整体而没有模拟代码。通常它是作为库构建的应用程序引擎部分,然后链接到测试项目。

+0

谢谢!正是我需要的信息! – Matthias 2011-03-16 16:17:52

+0

你是如何做嘲笑的部分?你有没有任何工具可以首先生成骨骼或手工生成所有东西? – rasjani 2011-04-27 09:19:22

+0

@rasjani:我已经手动完成了,但我猜想半自动化并不难。 – laalto 2011-04-27 10:14:21