Visual Studio 2013 单元测试学习

觉得在开发时写测试用例会很有趣,也可能会比较严密,想学习一下,便从 VS2013 的使用开始。

一开始跟着这个链接 http://www.w2bc.com/Article/11186 学习了 C# 控制台程序的简单单元测试,非常顺利地完成了,其中有一个重要注意点,就是“在单元测试项目中引用控制台项目”,通过这个引用,才能够使得单元测试项目能够“看见”(可能是链接?)到原控制台项目的代码。这个引用的添加很简单,直接在测试项目中的引用那一栏右键添加即可。

文章值得学习的还有测试命名规范,自己注意区分命名测试类和测试方法就行。

另外,就是安装 Unit Test Generator 工具使得编写测试代码更方便。


然后参考链接 http://www.it165.net/pro/html/201310/7539.html 学习 C++控制台程序的单元测试,不太顺利。链接文中很详细地说明了项目属性的设置,虽然字眼有些拗口(应该原博文是台湾人写的,”配置属性“说成“组态属性”,”常规“说成”一般“),但是能够通过图片大概了解设置。最重要的是把需要原控制台项目的”项目默认值:配置类型”设置为“静态库(.lib)”,其他的我没有设置,然后 include 的时候很麻烦,也不知道是否因为配置跟路径有关,我只能直接把完整路径写进去:

#include "E:\Calculator\Calculator\Calculator.h"

然后添加引用

测试就可以跑了,当然是因为复制了代码。

然后,我发现总是单元测试类里面的方法,于是我在类外(在头文件里)写了一个完整的函数:

int addSum(int x, int y)
{
	return x + y;
}

生成解决方案失败,说是:

错误 1 error LNK2005: "int __cdecl addSum(int,int)" (?addSum@@YAHHH@Z) 已经在 CalculatorTest.obj 中定义 E:\Post GSMM\Calculator\CalculatorUnitTest\Calculator.lib(Calculator.obj) CalculatorUnitTest

错误 2 error LNK1169: 找到一个或多个多重定义的符号 E:\Post GSMM\Calculator\Debug\CalculatorUnitTest.dll 1 1 CalculatorUnitTest

于是我不解了,又没有重载或重定义的样子啊?但我把 addSum() 函数完整定义放在 cpp 文件中,只在头文件中声明该函数,然后生成成功了。这个问题有待解答啊。

单元测试学习初入门,有待以后写程序时用用。


注意!!:没有把控制台项目的”项目默认值:配置类型”设置为“静态库(.lib)”,或者没有把引用添加到测试项目上去,都会出现“error LNK2019:无法解析的外部符号...”,大概是因为不设置为静态库,测试项目就无法访问控制台项目的代码,而没有引用的话,连去哪里找控制台代码都不知道。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值