单元测试的每个文件可执行目标
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
⋱ ⋱
有没有办法为每个单元测试配置相应的可执行文件?我可以看到整个项目的目标:
但是我没有看到单个文件的相应选项:
目标:在查看任何测试源代码时单击 '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。
希望是你想要的:)
我有一个相当大的 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
⋱ ⋱
有没有办法为每个单元测试配置相应的可执行文件?我可以看到整个项目的目标:
目标:在查看任何测试源代码时单击 '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。