c 语言单元测试代码,编写单元测试C代码

我是一名C ++开发人员,在测试时,通过注入依赖项,覆盖成员函数等来测试类很容易,这样您就可以轻松地测试边缘案例。 但是,在C中,您无法使用这些精彩的功能。 我发现很难将单元测试添加到代码中,因为编写C代码的一些"标准"方法。 解决以下问题的最佳方法是:

传递一个大的'context'结构指针:

void some_func( global_context_t *ctx, .... )

{

/* lots of code, depending on the state of context */

}

没有简单的方法来测试依赖函数的失败:

void some_func( .... )

{

if (!get_network_state() && !some_other_func()) {

do_something_func();

....

}

...

}

具有大量参数的函数:

void some_func( global_context_t *, int i, int j, other_struct_t *t, out_param_t **out, ...)

{

/* hundreds and hundreds of lines of code */

}

静态或隐藏功能:

static void foo( ... )

{

/* some code */

}

<

你可能感兴趣的:(c,语言单元测试代码)