我正在使用Qt Creator和qmake来创建我的项目和我的测试项目(QTest-tests)。我现在有自己的测试项目运行,但我很难理解如何从我的正常项目中测试类。我可以在测试用例中包含我项目中的.h文件,但这当然不够。
它会抛出我的链接器错误,因为它没有代码或库来查找类的代码。有没有一种简单的方法可以告诉qmake查找特定文件夹中的所有源文件来加载它们?或者,设置这样的测试项目的正确方法是什么,而不必将每个源文件也添加到测试项目或将应用程序编译到库中以包含?
答案 0 :(得分:4)
是否有一种简单的方法可以告诉QMake查找特定文件夹中的所有源文件以加载它们?
qmake支持通配符,因此您可以使用
SOURCES += *.cpp
HEADERS += *.h
在您的项目文件中。
另外,请确保将MOC_DIR
和RCC_DIR
调整为指向源文件夹以外的其他位置。您不希望在SOURCES
。
或者设置此类测试项目的正确方法是什么,而无需将每个源文件也添加到测试项目或将应用程序编译到lib中以包含
我更喜欢将自动化测试分为两类:
测试单个组件的单元测试(通常位于源文件中)。我将依赖关系模拟到系统的其他部分。每个单元测试都是自己的Qt项目,只包括正在测试的源文件+测试代码+模拟代码。
集成测试在没有模拟代码的情况下测试组件。通常它是作为库构建的应用程序引擎部分,然后链接到测试项目。