|
|
单元测试的一种新思路 |
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 |
假设我们要测试的目标文件为source.c,其中有以下几个函数
void A() { B(); return; }
void B() { C(); return; }
void C() { return; }
按照所有调用函数全部打桩的方法测试的时候会遇到一个问题,测试A()时把B()打桩,需要把B()注释掉, 否则就没有办法进行控制,测B()的时候需要把B()的桩函数注释掉,这样就会造成在一个测试工程里面无 法同时运行A()和B()的测试例,测试无法回归。
我们想了一个变通的方法。
既然注释代码比较麻烦,无法操作,我们可以使用宏来达到目的,具体实现方法是这样的 #ifdef UT #define A A #define B B_X #endif void A() { B(); return; } #ifdef UT #define B_X B #endif
#ifdef UT #define B B #define C C_X #endif void B() { C(); return; } #ifdef UT #define C_X C #endif
void C() { return; }
然后在另外一个文件,例如stub.c中为B和C打桩:B_X, C_X,在source中包含桩的声明文件stub.h,就可以 实现A,B同时在一个工程中进行测试的目的了。

|
|
相关文章:相关软件: |
|