我是靠谱客的博主 含蓄绿草,最近开发中收集的这篇文章主要介绍c 语言 mock,对C语言的函数进行mock的3种方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

为一个咨询项目做准备,学习了几种对C语言函数进行mock的方法,由于C语言面向过程, 缺乏封装,继承,多态等面向对象语言的特性, 也无法利用面向对象中多态这个特性来实现mock,相对来说比java等OO的语言难于测试。 但也不是没有办法,先看例子:

下面的代码中account_update函数使用了db_update这个函数,它会直接调用数据库,是个重量级的依赖。 为了对这段代码进行测试, 需要把db_update函数隔离,怎么处理?

#include

#include

extern int db_update(int, struct DFHLItem *);

void account_update(

int account_no, struct DHLSRecord *record, int activated)

{

if (activated) {

if (record->dateStamped && record->quantity > MAX_ITEMS) {

db_update(account_no, record->item);

} else {

db_update(account_no, record->backup_item);

}

}

db_update(MASTER_ACCOUNT, record->item);

}

方法一:利用C语言的预处理(在编译之前进行Mock)

先引入一个头文件:

#includ

最后

以上就是含蓄绿草为你收集整理的c 语言 mock,对C语言的函数进行mock的3种方法的全部内容,希望文章能够帮你解决c 语言 mock,对C语言的函数进行mock的3种方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部