簡體   English   中英

如何使用GLib框架運行單元測試?

[英]How do I run unit tests using the GLib framework?

我正在嘗試對我正在使用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()函數的參數。 文檔將原型顯示為:

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

和:

...:保留以供將來擴展。 目前,您必須傳遞NULL。

因此,您需要傳遞NULL作為第三個參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM