美好的一天, 我正在学习Visual Studio C ++中的测试,我有几个教程,我已经遵循。我正在尝试加载测试夹具。我试图将测试.cpp文件放在许多不同的地方但是当我点击“运行测试”或“运行测试而无需调试”时它仍然无法接收它
在我发现的教程中,它们似乎自动加载到测试资源管理器中,但是我的是带有X +(PROJECTNAME).EXE的图标,当我翻过它时,我得到了
退出过程而未向代理注册...这是因为该模型不包含任何测试装置......
如何将测试加载到测试资源管理器中......或者将其注册到我的项目...
我尝试右击并“添加夹具......”....
但是这只是启动一个新的测试文件,我遇到了同样的问题。
有人知道我是如何解决这个问题的吗?
答案 0 :(得分:0)
最可能的原因是缺少环境变量 CFIX_HOME 。 尝试设置它(通常为“c:\ Program Files(x86)\ VisualAssert \”)并重新启动VS. 还可以通过包含以下路径来更新项目的设置:
C/C++ -> General -> AdditionalIncludeDirectories $(CFIX_HOME)\include Linker -> General ->AdditionalLibraryDirectories $(CFIX_HOME)\lib\amd64我完全按照你所描述的方式面对同样的问题并以这种方式解决了问题。
将cfix / Visual Assert代码直接包含在项目中的一个缺点是你的.exe将需要cfix.dll才能启动。但是,这种行为帮助我发现了问题:)
来自@Neutrino的更新是有道理的。 我得到了其他问题:
可能这是因为在W7 x64 + VS2008的某处安装了Visual Assert坏了
答案 1 :(得分:0)
我遇到了同样的问题。 CFIX_HOME环境变量和VS 2008路径设置正确。我将i386 cfix.dll复制到了与我的测试exe相同的目录。
执行命令:
"%CFIX_HOME%\bin\i386\cfix32.exe" -exe "%CD%\VisualAssertTest1.exe"
导致cfix输出,然后退出。
cfix version 1.6.0.3683 (fre)
(C) 2008-2010 - Johannes Passing - http://www.cfix-testing.org/
Hello
'Hello'只是我的测试程序的简单输出,所以我可以确保它正确加载。
只有当我将我的exe复制到%CFIX_HOME%\ bin \ i386 \中时,它才能正常工作,然后它所做的一切都是输出
cfix version 1.6.0.3683 (fre)
(C) 2008-2010 - Johannes Passing - http://www.cfix-testing.org/
[Success] VisualAssertTest1.MyTest1.Test
然后我尝试使用Visual Studio运行命令运行它。我修改了我的项目设置如下。
Configuration Properties\Debugging:
Command: $(CFIX_HOME)\bin\i386\cfix32.exe
Command Arguments: -exe "$(TargetPath)"
Working Directory: $(CFIX_HOME)\bin\i386
这会运行,但您无法知道发生了什么,因为cfix32.exe会立即退出并且Visual Studio不会捕获输出。添加-y选项以请求cfix32.exe在测试运行结束时暂停,结果是:
-y and -Y are currently not supported in conjunction with -exe
就我而言,这是最重要的。
总结一下。
由于某些原因,在测试exe时,你看不到任何图形输出。
在测试exe时,Visual Studio插件没有检测到任何测试用例,而您没有简单的方法来选择要运行的测试用例。
在控制台窗口中手动运行是捕获输出的唯一方法。
我从原生C ++单元测试程序中想要的就是:
当我第一次听到提及这个程序时,我以为我会打金,但遗憾的是不是。仍然看起来更接近我正在寻找的东西,而不是我见过的任何东西,所以我会坚持一段时间。
@Johannes很高兴知道它是否还在开发中。