函数

GLibtest_init

自:2.16

声明 [src]

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

描述 [src]

初始化GLib测试框架。

这包括播种测试随机数生成器,设置程序名称,并解析与测试相关的命令行参数。

在调用任何其他g_test_*()函数之前应调用此函数。

以下参数被理解

  • -l:列出测试可执行文件中的可用测试用例。
  • --seed=SEED:提供一个随机数种子,用于通过随机数重现测试运行。
  • --verbose:详细运行测试。
  • -q--quiet:安静地运行测试。
  • -p PATH:执行给定路径匹配的所有测试。
  • -s PATH:跳过所有匹配给定路径的测试。这也可以用于强制运行否则将被跳过的测试(例如,名称包含“/子进程”的测试)。
  • -m {perf|slow|thorough|quick|undefined|no-undefined}:根据这些测试模式执行测试

perf:性能测试,可能需要很长时间并报告结果(默认不报告)。

slowthorough:慢且彻底的测试,可能需要相当长的时间并最大限度地提高覆盖率(默认不使用)。

quick:快速测试,应该非常快并且提供良好的覆盖率(默认)。

undefined:测试未定义行为,可能在g_test_trap_subprocess()g_test_expect_message()下触发编程错误,以检查是否提供了适当的断言或警告(默认)。

no-undefined:避免测试未定义行为。

  • --debug-log:调试测试日志输出。

已解析的任何参数都将从argv中删除,并根据需要进行调整argc

支持以下选项

  • G_TEST_OPTION_NO_PRGNAME:使g_test_init()不调用g_set_prgname()。自2.84以来。
  • G_TEST_OPTION_ISOLATE_DIRS:为每个单元测试创建一个唯一的临时目录,并在单元测试期间将Xdg目录设置为此处。请参阅G_TEST_OPTION_ISOLATE_DIRS
  • G_TEST_OPTION_NONFATAL_ASSERTIONS:此选项的效果与g_test_set_nonfatal_assertions()相同。自2.84以来。

自2.58以来,如果测试是用G_DISABLE_ASSERT定义编译的,则g_test_init()将打印错误并退出。这是为了防止执行无操作的测试,因为在单元测试中通常(错误地)使用g_assert(),而在编译时加上G_DISABLE_ASSERT则为无操作。请确保您的测试在编译时没有定义G_DISABLE_ASSERT

自2.16起可用

此功能不直接向语言绑定可用。

参数

argc

类型:int*

指向main()的参数argc的地址。

数据由函数的调用者拥有。
argv

类型:char***

函数 main() 的 argv 参数的地址。

数据由函数的调用者拥有。
该值是一个以 NUL 结尾的 UTF-8 字符串。
...

类型: 

NULL 结尾的特殊选项列表。