【发布时间】:2019-04-11 14:21:05
【问题描述】:
我想为我的 C++ 项目编写一些测试...
因此我添加了一个新项目来编写测试。 (这是一个类库类型)。我想出了一个使用Microsoft::VisualStudio::CppUnitTestFramework 的解决方案。不知何故,VS 检测到我用TEST_METHOD(...) 宏标记的测试,我可以使用测试资源管理器执行它们。
到目前为止一切顺利...但现在我当然希望在每次构建我的解决方案后自动执行测试...我认为当我用谷歌搜索时应该有很多点击,但我没有找到任何东西.基本上我正在寻找一个 postbuild 命令来执行另一个项目的测试。应该没那么难吧?
提前致谢
【问题讨论】:
-
我不确定您正在使用的具体单元测试框架,但您可以在 dev-studio 中设置构建后步骤并将其指向任何单元测试可执行文件。如果您的单元测试没有产生可执行的输出,那么您可以编写一个调用它们的脚本,然后从 dev-studio 调用该脚本。
-
@Mansoor 感谢您的回复。我的测试项目输出是一个 .dll、一个 .exp、一个 .ilk、一个 .lib 和一个 .pdb 文件。所以我想我没有可执行文件。我将如何从脚本中调用我的测试?
-
从测试资源管理器运行if时,它是如何被调用的?我的猜测是某处有一个 exe 动态绑定到您正在生成的单元测试 DLLS。也许如果您在运行单元测试时打开诊断日志记录(Tools-Options->Builds and Runs->Logging),它会告诉您它是如何运行的。然后,您可以将该命令行直接复制到您的构建后步骤中。
-
作为替代方案,您可以使用 GoogleTest,它使用类似的语法,但会为每个单元项目生成可执行输出。
标签: c++ unit-testing