我在组织项目时遇到了问题,并且测试了Microsoft Visual Studio 2017解决方案。我的项目目前作为.lib文件工作,正在工作并被我的计算机上的另一个解决方案使用。
我将项目作为解决方案打开,然后使用“添加项目...”和Google测试项目提示将新项目添加到解决方案中。我选择了我的项目来测试,并说我会使用谷歌测试作为.lib和C ++运行时库动态链接。
然后我编译并运行全部,发现发现了自动创建的默认启动测试。大。
然后,我#include“../managers/ConfigManager.h”并再次尝试全部运行,我的项目.lib中使用的各种头文件的'无法打开源文件'。好吧,所以我将相应的include目录添加到我的测试项目属性中。
'全部运行'现在缺少我的主项目的各个组件使用的库,因此我将所有库添加到附加依赖项及其目录到测试项目属性中的添加依赖项目录。
尝试再次全部运行会让一些事情变得愉快。
我得到以下输出,说我们找不到任何测试。
[3/31/2018 12:17:59 PM信息] ==========发现测试结束:0找到(0:00:03.5029168)==========
[3/31/2018 12:18:03 PM信息] ------运行测试开始------
[3/31/2018 12:18:04 PM信息] Google Test测试适配器:测试执行开始......
[3/31/2018 12:18:08 PM Informational]在可执行文件C:\ Users \ TwinHits \ Source \ Repos \ project \ x64 \ Debug \ tests.exe
中找到0个测试[3/31/2018 12:18:08 PM信息]运行0测试...
[3/31/2018 12:18:08 PM信息] Google测试执行完成,总持续时间:00:00:03.7586898
[3/31/2018 12:18:08 PM警告] C:\ Users \ TwinHits \ Source \ Repos \ TwinHits \ x64 \ Debug \ tests.exe C:\ Users \ TwinHits \ Source中没有可用的测试\回购\项目\ 64 \调试\ project.lib。确保测试发现者&执行人员已注册,平台和框架版本设置是合适的,然后重试。
我在“运行测试结束:0运行”后收到此错误。
System.AggregateException:发生了一个或多个错误。 ---> System.InvalidOperationException:找不到以下TestContainer'C:\ Users \ John Goben \ Source \ Repos \ TIEngine \ x64 \ Debug \ Sample-Test1.exe' 在Microsoft.VisualStudio.TestWindow.Controller.TestContainerProvider。 d__62.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束--- 在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 Microsoft.VisualStudio.TestWindow.Controller.TestContainerConfigurationQuery.d__15.MoveNext()
我的项目的main.cpp运行,这对我没有任何意义。
对于如何组织我的测试和项目以使测试运行正确,或者我是否朝错误的方向前进,您是否有任何指导?
答案 0 :(得分:1)
我已经解决了这个问题。 Lib项目不应该有main()。如果有人能解释为什么这会弄乱谷歌测试'测试发现,我很想知道为什么。