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就可以实现一些最简单的测试功能, 这里我就不对测试的部分进行过多的解释了, 这类的文章非常多的.
最后要提醒一下, 如果对被测试的项目进行了改动后记得重新生成一下, 不然不能正常调试源代码的.
版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!