0

我有一个包含网络层和业务逻辑实现的整体 C 文件,我想将其拆分为分别具有网络和业务逻辑的文件。

我只想对业务逻辑进行单元测试,而不深入网络层。这是一个问题。在这种情况下,来自文件 A 的方法将调用来自文件 B 的方法,反之亦然。

我需要用存根替换网络层文件中的方法。在C++中,C#网络层可以用接口类来实现,但是在C中怎么实现呢?有没有优雅的解决方案?

4

2 回答 2

1

如果您的代码包含在不同的 .c 文件中,那么您可以在构建测试时简单地替换不同的 .c 文件。

任何其他解决方案都太辛苦了。

于 2013-11-06T14:58:05.597 回答
0

“abc.h”

int function a();
int function b();

//abc.h结束

“新的.c”

#include"abc.h"

int function a(){
//do something
return 0;
}

//new.c 结束

“主要.c”

#include"abc.h"
int main(){
a();
return 0;
}
于 2013-11-06T15:03:15.623 回答