c - GLib 测试框架在应该检测多个测试时只检测到一个测试

标签 c unit-testing testing integration-testing glib

我有一个小的测试程序运行了多个测试,但是测试报告告诉我只有一个测试通过了。

代码

static void test_foo(void) {
  g_assert(TRUE);
}
static void test_bar(void) {
  g_assert(TRUE);
}
int main (int argc, char *argv[]) {
  g_test_init (&argc, &argv, NULL);

  g_test_add_func ("/foo/foo", test_foo);
  g_test_add_func ("/foo/bar", test_bar);

  return g_test_run ();
}

结果

============================================================================
Testsuite summary for foobar x.x.x
============================================================================
# TOTAL: 1
# PASS:  1
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================

它会跳过一些测试吗?如何解决? 谢谢

最佳答案

您的 Automake 测试框架正在检测一个测试程序,其中包含两个 GLib 测试。要查看这两个测试的结果,请查看与您的测试可执行文件对应的 .log 文件。

如果您编写自定义测试驱动程序让 Automake 分别识别每个测试,请告诉我——我很感兴趣!

关于c - GLib 测试框架在应该检测多个测试时只检测到一个测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20059321/

相关文章:

c - 如何使用 C 解析文本文件并获取所有整数

c++ - 系统编程中的单元测试?

java - 列表上随机播放方法的单元测试

android - Android Studio中的Android Instrumentation测试和单元测试之间的区别?

testing - Jmeter 偏差与吞吐量

C 如何使用 esc 退出 while 循环

c++ - 打开/dev/ttyUSB0 返回 "Bad file descriptor"

c - 键入 8 位数字后,使用 scanf 的 While 循环会导致堆栈溢出

使用 new Date() 作为当前日期的 Java 单元测试方法

debugging - 如何从hammerhead 获得更详细的调试信息?