| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 452 人关注过本帖
标题:单元测试中的问题
只看楼主 加入收藏
lyj23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:140
注 册:2010-10-31
结帖率:86.21%
收藏
已结贴  问题点数:10 回复次数:2 
单元测试中的问题
程序代码:
#define test_(cond)\
  do_test(cond,#cond,_FILE_,_LINE)
#define fail_(str)\                  //这个"\"是什么意思,是写到下一行的提示吗?
  do_fail(str,_FILE_,_LINE_)   //_FILE_  _LINE_有什么特殊的意义吗?还是仅仅是个名字?
//……后面声明了这两个函数
class Test{
private:
//……
protectedvoid do_test(bool cond,const string& lbl,const char* fname,long lineno);//用protected形式,是认为测试对象没有拷贝和赋值操作,所以通过这个原型声明来
 void do_fail(const string& lbl,const char* fname,long lineno);          //禁止这两种操作
   //---------------------------------------------------------- 为什么声明为受保护的,就可以禁止这两种操作?                    
public:
//……
}
//后来定义了这两个函数
//……

我看书上的一个单元测试的例子,其中的Test.h文件中有几个问题。
唉,预处理没学好,可悲额。这个test_(cond)只有一个参数,怎么会通过这个宏能得到文件名和行号? //cond只是个bool的变量
 得到文件名和行号就这样就可以得到还是里面又用了什么函数。。


(跪求高手,没能力解决的新手们不要自作聪明来乱讲误人子弟!)
搜索更多相关主题的帖子: test 名字 
2011-06-05 06:18
lyj23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:140
注 册:2010-10-31
收藏
得分:0 
这种问题在论坛中没有人会吗?高手都蒸发了?

剩在这的看起来也不全是菜鸟啊!
2011-06-05 20:35
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:10 
\ 连接上下行为一行,C++primer中头几十页有提到
_FILE_  _LINE_这两个是宏。文件名和行号,值由编译器来处理,还有一个_TIME_表示编译的时间。不知道你下划线是不是左右都少一个。
类中保护和私有对类的使用者来说是一样的。保护是用在继承上的。
定义类的人和使用类的人是两种概念。(虽然有时候你既是定义者又是使用者)
cond,#cond这两个我也看不懂,不过我猜cond的值应该类似"include<****>"的一个符串符吧。

迭代的是人,递归的是神。
2011-06-06 08:57
快速回复:单元测试中的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028598 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved