gpt4 book ai didi

c++ - 谷歌单元测试困惑

转载 作者:行者123 更新时间:2023-11-28 06:17:11 24 4
gpt4 key购买 nike

我对单元测试应该放在哪里感到有点困惑。所有文档使我相信我必须创建一个测试项目。真的吗?使用 JUnit,我们只是在我们的应用程序项目中创建了一个测试包(文件夹),测试将在每次构建时运行。

我是 C++ 的新手,正在尝试了解 Google Test 的工作原理。我在 SO 上发现了很多非常好的问题和答案,是的,我已经阅读了 Google 测试文档,但我仍然对这一件事感到困惑:

Can I create a subfolder in my project with all my unit tests, such that they will execute with each build?

如果是,那么您能帮我找到所需的信息/示例吗?

好吧,我在这里的 Primer 中找到了:https://github.com/google/googletest/blob/master/googletest/docs/primer.md

一旦您能够编译 Google 测试库,您应该为您的测试程序创建一个项目或构建目标。这是有前途的!也许文档只是一直提到创建项目,并没有明确说明测试代码可以在您的应用项目中?

Nope! Just wishful thinking on my part, as πάντα-ῥεῖ pointed out in his answer.

最佳答案

"All the documentation leads me to believe that I must create a Test Project. REALLY?"

是的,对于 C++,您必须这样做,因为没有通用的测试运行器可执行工件,因为它是 JUnit 提供的。

Can I create a subfolder in my project with all my unit tests, such that they will execute with each build?

我建议将所有测试用例类(作为纯 .cpp 源代码)放入一个单独的项目中,并从一个单独的库项目中链接到被测类。将 gtest_all.cc 包含在 main() 函数中,或者将 gtest 库链接到测试项目。

要运行测试用例,请添加从该项目运行 UnitTester 工件构建作为额外的构建步骤。


"Maybe the documentation just keeps mentioning creating a project and doesn't make it clear that the test code can be in your application project."

好吧,这在很大程度上取决于您的实际 IDE/构建系统什么是单个项目(因此我更喜欢将此术语用于单个工件)和解决方案(或workspace) 用于它们的相关集合。

关于c++ - 谷歌单元测试困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30036984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com