单元测试的每个文件可执行目标

Per-file executable target for unit tests

我有一个相当大的 Visual Studio 解决方案文件,其中包含许多项目文件。这些项目中的每一个都包含 C 文件和头文件以及单元测试,并编译为可执行文件或库。此外,每个单元测试都会编译成自己的可执行文件。

├───Solution
│   ├───project1
|   |   |───some_code.c
|   |   |───more_code.c
│   │   └───unit_tests
|   |       |───test_some_code.c
|   |       |───test_more_code.c
│   │       └───results
|   ├───project2
|   |   |───even_more_code.c
│   │   └───unit_tests
|   |       |───test_even_more_code.c
│   │       └───results
⋱   ⋱

有没有办法为每个单元测试配置相应的可执行文件?我可以看到整个项目的目标: 但是我没有看到单个文件的相应选项:

Example Solution folder

目标:在查看任何测试源代码时单击 'Debug' 可调试相应的单元测试可执行文件。

好像是XY problem.

也许我们可以提供更好的解决方案,这样我们就不需要以这样的方式实现目标:Clicking 'Debug' while viewing any test source code debugs the corresponding unit test.

在VS中IDE,我们可以配置我们的新配置。所以你可以right-click project=>Configuration Manager 或者这样打开管理器:

在 Active solution configurations 中选择新的并设置如下设置,然后单击确定:

之后,对于您解决方案中的每个项目,您都可以为调试单元测试配置相应的配置。

例如:

不要忘记在此页面配置其他相关设置,如 pdb 文件名。

当您尝试调试 project1 时,将其设置为启动项目,将配置设置为 Debug 和 F5。尝试调试项目 1-unit-test 时,将配置设置为 DebugForTest 和 F5。

希望是你想要的:)