谷歌单元测试混乱

时间:2015-05-04 18:10:39

标签: c++ unit-testing googletest

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

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

  

我可以在项目中使用所有单元测试创​​建子文件夹,例如   他们将在每个构建中执行吗?

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

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

一旦您能够编译Google Test库,您应该为您的测试程序创建一个项目{{1}} 。这很有希望!也许文档只是提到创建一个项目,并没有说明测试代码可以在你的应用程序项目中?

  

都能跟得上!正如πάντα-ῥεῖ所指出的那样只是我的一厢情愿的想法   他的回答。

1 个答案:

答案 0 :(得分:1)

  

“所有文档都让我相信我必须创建一个测试项目。真的吗?”

是的,你必须使用c ++,因为它没有通用的测试运行器可执行工件,因为它与JUnit一起提供。

  

我可以在项目中使用所有单元测试创​​建一个子文件夹,以便它们将在每次构建时执行吗?

我建议将所有测试用例类(作为普通.cpp源)放入一个单独的项目中,并从单独的库项目链接到测试中的类。使用gtest_all.cc函数添加main(),或将gtest库与测试项目链接。

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

  

“也许文档只是提到创建一个项目,并没有说明测试代码可以在您的应用程序项目中。”

嗯,这在很大程度上取决于你的实际IDE /构建系统什么是单个项目(我更喜欢将这个术语用于单个工件),以及解决方案(或工作区)用于相关的集合。