vs2013本地C++单元测试spring框架的理解测试MFC程序,急求,如何配置。请给一个测试MFC程序的简单示例

        用VS写C#的时候知道C#的单元测试很好用,几天前写C,发现现在的VS也原生支持C/C++的单元测试。马上试了一下,却总是出问题。网上的好多教程都根本没有说明白,后来总算自己摸索出来了。下面用个简单的小例子说明一下如何使用。

        二、添加“add.h”、“add.cpp”、和“main.cpp”三个文件。内容分别如下,非常简单,就是实现了个整形加法。代码不多又简单,所以我直接写这了。写好后编译一下。 

        三、现在我们在项目解决方案上再添加一个新项目,选择“测试”——“本机单元测试项目”,项目名称我用的“UnitTest”。下面的内容是重点~

五、现在直接测试是不行的,(前面的步骤不用说大家都会做,其实要改的就这一步最重要。)还要把第一个项目中编译后的obj文件添加进来。是修改UnitTest项目”属性“——”链接器“——”输入“——”附加依赖项“,编辑添加..\Math\Debug\*.obj这里我用了通配符代表Debug目录下编译生成的所有obj,对文件较多比较方便。Ps:依赖项这里用绝对路径也是没问题的,但是绝对路径打的又长,而且拿到别的机器上就不能用了。

现在就可以Ctrl + R,A或者点击菜单运行测试了~ 可以看到测试通过了。

        六、还有就是如果改了代码每次都要分别编译太麻烦,可以修改下整个解决方案的依赖关系,直接上图,让测试项目依赖于要测的项目。

(2)用C#编写的程序,无需进行如下设置,只要在目标机的xp中安装相应的Dotnet版本即可。

??用VS2013在win7下编写的C++程序在XP下运行的错误与解决。

1.在xp下运行报错为:“不是有效的win32应用程序。”

注意:C#编写的程序没有该选项,如何解决C#的程序在XP下的运行,待解决。

2.将原动态编译改为静态编译,否则报错为:未找到MSVCR120D.DLL“

【配置属性】-【C/C++】-【代码生成】-【基本运行时库】,

由默认的“多线程调试DLL(/MDd)”,改成“多线程 (/MT)”,确定之后,重新编译。

注意:我改了这一步后,编译报错,原因未知。

只要做前面1,2步,即可在XP下运行。

4.将你的工程中依赖的所有外部库,都按照步骤1~3重新编译。

注意第四步很重要。如果你只完成了前三步,编译工程发现一大堆link错误,那就是你第四步没有做完整的原因了。

一个项目使用的库中如果存在不同版本的基本运行时库,必然导致冲突。

如果你用到的第三方库没有源码,而且又不是用MTD或MT编译的,很可能你就悲剧了。

5、网上说是还需在以下方面修改,未测试:

项目菜单->项目属性->链接器->系统->子系统->控制台或窗口windows(根据你的项目类型选择),第二项版本号设成5.01。

    使用Mingw环境可以比较快的编译出bitcoin-cli,bitcoind,bitcoin-qt这三个执行文件,但是对于C++开发人员不方便学习代码,进行调试,所以本人网上找了一些资料实践了一把,记录如下:

  1. 在MAC系统下编译bitcoin,把\src\test\data目录下的所有h文件复制到相同目录中。(因为分析makefile,把json文件转换成h文件的方法是通过创建h文件,输出字符串,字符转换等完成的,需要新写程序来做,所以暂时使用MAC编译后的h文件。)

在src目录中的Makefile.include文件完成此操作,转换代码如下:

我要回帖

更多关于 单元测试框架 的文章

 

随机推荐