我对单元测试应该在哪里感到困惑。所有文档都让我相信我必须创建一个测试项目。真?使用JUnit,我们在应用程序项目中创建了一个Test包(文件夹),测试将在每次构建时运行。
我是C ++的新手,并试图找出Google Test的工作原理。我在SO上找到了很多非常好的问题和答案,是的,我已经阅读了Google测试文档,但我仍然对这一点感到困惑:
我可以在项目中使用所有单元测试创建子文件夹,例如 他们将在每个构建中执行吗?
如果是,那么请您帮我找到所需的信息/示例吗?
好的,我在这里的Primer中找到了:https://github.com/google/googletest/blob/master/googletest/docs/primer.md
一旦您能够编译Google Test库,您应该为您的测试程序创建一个项目{{1}} 。这很有希望!也许文档只是提到创建一个项目,并没有说明测试代码可以在你的应用程序项目中?
都能跟得上!正如πάντα-ῥεῖ所指出的那样只是我的一厢情愿的想法 他的回答。
答案 0 :(得分:1)
“所有文档都让我相信我必须创建一个测试项目。真的吗?”
是的,你必须使用c ++,因为它没有通用的测试运行器可执行工件,因为它与JUnit一起提供。
我可以在项目中使用所有单元测试创建一个子文件夹,以便它们将在每次构建时执行吗?
我建议将所有测试用例类(作为普通.cpp
源)放入一个单独的项目中,并从单独的库项目链接到测试中的类。使用gtest_all.cc
函数添加main()
,或将gtest
库与测试项目链接。
要运行测试用例,请添加从该项目运行UnitTester
工件构建作为额外的构建步骤。
“也许文档只是提到创建一个项目,并没有说明测试代码可以在您的应用程序项目中。”
嗯,这在很大程度上取决于你的实际IDE /构建系统什么是单个项目(我更喜欢将这个术语用于单个工件),以及解决方案(或工作区)用于相关的集合。