Abe*_*nga 4 c unit-testing glib
我正在尝试对我正在使用GLib编写的一些C代码运行简单的单元测试.我正在尝试做类似的事情:
#include <math.h>
#include <stdio.h>
#include <glib.h>
static void
test_stuff ()
{
g_assert (1 == 1); //Say
}
int main (int argc, char **argv)
{
g_test_init (&argc, &argv);
g_test_add_func ("/TestTest", test_stuff);
return g_test_run();
}
Run Code Online (Sandbox Code Playgroud)
但是当我编译(比如一个名为exec的二进制文件)并尝试使用gtester运行它(甚至直接运行所述二进制文件)时,我收到以下错误:
me@laptop:tests$ gtester exec
TEST: exec... (pid=6503)
(process:6503): GLib-CRITICAL **: g_test_init: assertion `vararg1 == NULL' failed
FAIL: exec
Terminated
Run Code Online (Sandbox Code Playgroud)
有没有我遗漏的东西,也许我应该在运行测试时传递变量?
unw*_*ind 11
你错过了g_test_init()函数的参数.文档将原型显示为:
void g_test_init(int *argc,
char ***argv,
...);
Run Code Online (Sandbox Code Playgroud)
和:
...:保留以供将来扩展.目前,您必须传递NULL.
所以,你需要传递一个NULL作为第三个参数.