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