在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      博客專欄

      EEPW首頁(yè) > 博客 > 如何快速上手cmocka,請(qǐng)舉一個(gè)例子來說明

      如何快速上手cmocka,請(qǐng)舉一個(gè)例子來說明

      發(fā)布人:電子禪石 時(shí)間:2023-03-08 來源:工程師 發(fā)布文章

      要快速上手cmocka,你可以按照以下步驟進(jìn)行:

      1. 安裝cmocka。你可以從cmocka的官方網(wǎng)站(https://cmocka.org/)下載cmocka的源代碼,或者使用你的包管理器進(jìn)行安裝。

      2. 編寫測(cè)試代碼。下面是一個(gè)簡(jiǎn)單的例子,它測(cè)試了一個(gè)名為“add”的函數(shù),該函數(shù)將兩個(gè)整數(shù)相加并返回它們的和:

      #include <stdarg.h>
      #include <stddef.h>
      #include <setjmp.h>
      #include <cmocka.h>
      int add(int a, int b) {
          return a + b;
      }
      static void test_add(void **state) {
          assert_int_equal(add(2, 3), 5);
          assert_int_equal(add(0, 0), 0);
          assert_int_equal(add(-1, 1), 0);
      }
      int main(void) {
          const struct CMUnitTest tests[] = {
              cmocka_unit_test(test_add),
          };
          return cmocka_run_group_tests(tests, NULL, NULL);
      }

      3. 編譯和運(yùn)行測(cè)試代碼。你可以使用你常用的編譯器(如gcc)編譯測(cè)試代碼,并運(yùn)行生成的可執(zhí)行文件。在Linux系統(tǒng)上,你可以使用以下命令編譯和運(yùn)行測(cè)試代碼:


      gcc -o test test.c -lcmocka
      ./test

      這個(gè)例子中,我們定義了一個(gè)名為“test_add”的測(cè)試函數(shù),該函數(shù)使用“assert_int_equal”宏來比較函數(shù)“add”的返回值和預(yù)期的值。我們使用“cmocka_unit_test”宏將測(cè)試函數(shù)注冊(cè)到測(cè)試組中,并使用“cmocka_run_group_tests”函數(shù)來運(yùn)行測(cè)試組。 當(dāng)運(yùn)行測(cè)試代碼時(shí),如果所有測(cè)試都通過,那么你將會(huì)看到以下輸出:


      [==========] Running 1 test(s).
      [ RUN      ] test_add
      [       OK ] test_add
      [==========] 1 test(s) run.
      [  PASSED  ] 1 test(s).

      如果測(cè)試失敗,那么你將會(huì)看到類似以下的輸出:


      [==========] Running 1 test(s).
      [ RUN      ] test_add
      test.c:9: error: Failure! Expected '5', but was '6'
      [  FAILED  ] test_add
      [==========] 1 test(s) run.
      [  PASSED  ] 0 test(s).
      [  FAILED  ] 1 test(s).

      這就是使用cmocka進(jìn)行單元測(cè)試的基本步驟。你可以在你的代碼中添加更多的測(cè)試函數(shù),并使用更多的cmocka斷言宏來測(cè)試你的函數(shù)。

      *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



      關(guān)鍵詞: 單元測(cè)試

      技術(shù)專區(qū)

      關(guān)閉