我们的产品以前是在Visual 2008中构建的,使用了GoogleMock 1.5.0。
现在,在将我们的产品移植到Visual 2010之后,任何使用GoogleMock的单元测试DLL都不会加载到visual的测试视图中,因此无法执行。
我们的生产代码是用从C++ DLL导出的原生C++类编写的。
我们的单元测试是用C++/CLI编写的,因此它们可以直接托管在Visual中。C++/CLI单元测试练习我们的本机C++类,GoogleMocks以前在这个场景中玩得很开心。
我们将GoogleMock构建为在运行时使用多线程DLL的静态库。我们所有的生产代码也使用多线程DLL。
我们已经尝试了GoogleMock 1.5和1.6RC,都是在VS2010内部重建的。但是,这两个版本的GoogleMock都会出现问题。
为了复制,简单地说:
gmock_main.lib
作为链接器。
该项目将构建良好,但VS测试视图无法加载新的单元测试DLL。如果将gmock.h包含注释掉,则DLL将加载到Test中,其测试夹具将执行。
我希望另一个VS2010开发人员已经遇到了这个问题,并可以提出一个解决方案。
我的装备:
< code >H 125我们所有的C++代码,包括GoogleMock,都是使用is 2010的vc100编译器编译的。我们的C++/CLI代码也是为.NET 4.0.构建的。
谢谢。
发布于 2012-11-09 15:46:26
使用与dripfeed相同的代码设置(使用Google来用MSTest测试本机类),通过使用Google编译设置构建Google,我们获得了Google 1.6。
我们现在已经成功地用Google实现了一些测试!
注意:放置/CLR设置可能需要调整其他编译设置。
发布于 2011-05-07 18:20:37
我想我在文档里读到它是微软的一个bug.
https://stackoverflow.com/questions/5497879
复制相似问题