QTestlib 单元测试项目,用于访问 QTCreator 中主项目中的类

发布于 2024-11-14 00:31:38 字数 62 浏览 3 评论 0原文

我正在使用 QT Creator,并希望在单独的项目中运行我的单元测试。如何从我的测试项目中引用主项目中的类?

I am using QT Creator and want to run my unit tests in a separate project. How do I reference the classes in the main project from my test project?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无所谓啦 2024-11-21 00:31:38

我意识到这是一个老问题,但这里有几个步骤可以让这个变得简单:

  • 将大部分配置从 main_project.pro 文件移动到 main_project.pri 文件。
  • 使用相对于 *.pri 或 *.pro 文件的相对路径,使用 $$PWD/path/to/file 语法,其中 $$PWD 是您的 *.pri或 *.pro 文件位置。
  • 使用 include($$PWD/main_project.pri) 包含 *.pri 文件
  • main_projecttest 项目> 文件夹。
  • test/test.pro 中,添加行 include($$PWD/../main_project.pri) 以从 main_project 导入相关配置。

如果有兴趣,我可以添加更多详细信息。

一旦基本设置开始工作,它就非常方便,因为您可以为要测试的每个模块创建一个单独的项目以及运行所有其他测试的全局 test_suite 。如果您发现许多测试项目共享某些配置,您可以在 test/common 中创建一个单独的 common.pri 文件以包含在所有测试项目中。

一旦到位,就可以很容易地生成一个小脚本来自动创建一个测试项目,以便测试新模块,从而形成一个非常高效的测试工作流程......

I realise this is an old question, but here are a few steps to make this easy:

  • Move most of your config from main_project.pro file to a main_project.pri file.
  • Use relative paths, relative to you *.pri or *.pro files, using $$PWD/path/to/file syntax where $$PWD is your *.pri or *.pro file location.
  • Include *.pri file using include($$PWD/main_project.pri)
  • Create a test project in your main_project folder.
  • In test/test.pro, add the line include($$PWD/../main_project.pri) to import the relevant configuration from you main_project.

I can add more details if there is some interest.

Once the basic setup is working, it's quite handy as you can create a separate project for each module you want to test plus global test_suite that run all the other tests. If you find that many test projects share some configuration, you can create a separate common.pri file in test/common to include in all your test projects.

Once, that's in place, it quite easy to generate a small script to automatically create a test project when in order to test a new module, resulting quite an efficient testing workflow...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文