gpt4 book ai didi

c - 如何使用 GLib 框架运行单元测试?

转载 作者:太空狗 更新时间:2023-10-29 15:16:36 27 4
gpt4 key购买 nike

我正在尝试对使用 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();
}

但是当我编译(比如一个名为 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

有没有我遗漏的东西,也许是我在运行测试时应该传递的变量?

最佳答案

您缺少 g_test_init() 函数的参数。 The docs将原型(prototype)显示为:

void g_test_init(int *argc,
char ***argv,
...);

和:

... : Reserved for future extension. Currently, you must pass NULL.

因此,您需要传递一个 NULL 作为第三个参数。

关于c - 如何使用 GLib 框架运行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11931422/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com