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