【IT168 技术文档】c++的单元测试方法一向很多, 比如cxxunit, googletest等等, 不过不知道是不是我的人品不太好, googletest我使用的时候一直出现了无法解析的外部符号, 就算是按照别人给出的方法(编译方式\MTd, 也找遍了网络) 还是不得其解, 只得作罢, 突然想起了VS2008还自带了一个单元测试的组件, 以前在使用c#的时候用过的.
下面给我的方法和步骤, 可以对程序进行调试和单元测试.
首先在Solution上面按右键, 选择添加项目, 然后选择测试项目, 项目名就随意了
然后设置需要进行单元测试的项目, 在我这里名字叫"Lucenecpp", 在项目的属性中选择"静态库lib"
下面就是对测试项目的设置了, 在测试项目上的属性中, 选择:
这里一定要记得将/clr:safe切换为/clr, 不然会出现一大堆诡异的错误.
在测试项目的c++/常规/附加包含目录中, 把需要的头文件的目录以及被测试项目的头文件目录添加进去.
然后还需要在连接器中将附加库目录填写进去
在VS生成的项目文件中, 已经有了一个文件, 叫做UnitTest1.cpp, 在上面进行一些改动, 加入需要的头文件, 另外还要链接上库文件:
1: #include "LCExternal.h"; 2: #include "FileStream.h" 3: 4: #pragma comment(lib,"..\\lucenecpp\\debug\\lucenecpp.lib")
这样在正确了设置了启动项目之后就可以进行单元测试了, 使用Assert::AreEqual就可以实现一些最简单的测试功能, 这里我就不对测试的部分进行过多的解释了, 这类的文章非常多的.
最后要提醒一下, 如果对被测试的项目进行了改动后记得重新生成一下, 不然不能正常调试源代码的.