单元测试中的问题
程序代码:
#define test_(cond)\ do_test(cond,#cond,_FILE_,_LINE) #define fail_(str)\ //这个"\"是什么意思,是写到下一行的提示吗? do_fail(str,_FILE_,_LINE_) //_FILE_ _LINE_有什么特殊的意义吗?还是仅仅是个名字? //……后面声明了这两个函数 class Test{ private: //…… protected: void 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的变量
得到文件名和行号就这样就可以得到还是里面又用了什么函数。。
(跪求高手,没能力解决的新手们不要自作聪明来乱讲误人子弟!)