<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          greatestC 單元測(cè)試工具

          聯(lián)合創(chuàng)作 · 2023-10-01 15:20

          greatest 是一個(gè) C 語(yǔ)言的單元測(cè)試系統(tǒng),只需要一個(gè)文件支持。示例代碼:

          $ cat simple.c
          #include "greatest.h"
          
          TEST x_should_equal_1() {
              int x = 1;
              ASSERT_EQ(1, x);                              /* default message */
              ASSERT_EQm("yikes, x doesn't equal 1", 1, x); /* custom message */
              PASS();
          }
          
          SUITE(the_suite) {
              RUN_TEST(x_should_equal_1);
          }
          
          /* Add definitions that need to be in the test runner's main file. */
          GREATEST_MAIN_DEFS();
          
          int main(int argc, char **argv) {
              GREATEST_MAIN_BEGIN();      /* command-line arguments, initialization. */
              RUN_SUITE(the_suite);
              GREATEST_MAIN_END();        /* display results */
          }
          $ make simple && ./simple
          cc -g -Wall -Werror -pedantic    simple.c   -o simple
          
          * Suite the_suite:
          .
          1 tests - 1 pass, 0 fail, 0 skipped (5 ticks, 0.000 sec)
          
          Total: 1 tests (47 ticks, 0.000 sec)
          Pass: 1, fail: 0, skip: 0.

          主要特點(diǎn)

          • 小巧,輕便

            除了ANSI C89以外,最大的功能不依賴(lài)任何內(nèi)容,并且使用編譯時(shí),測(cè)試腳手架應(yīng)該在沒(méi)有警告的情況下構(gòu)建 -Wall -Wextra -pedantic。它低于1,000 LOC(SLOCCount),并且沒(méi)有動(dòng)態(tài)分配。

          • 許可許可

            最大的是根據(jù)ISC許可證發(fā)布的。您可以自由使用它,甚至可以用于商業(yè)目的。

          • 易于設(shè)置

            要使用,僅#include "greatest.h"在您的項(xiàng)目中。樣板非常少。大多數(shù)功能是可選的。

          • 不自以為是

            當(dāng)命令行測(cè)試運(yùn)行器有用時(shí),Greatest可以提供一個(gè),但是它也可以作為其他程序的一部分運(yùn)行。它不依賴(lài)于特定的構(gòu)建系統(tǒng)或其他工具,而應(yīng)適應(yīng)各種測(cè)試方法。它積極避免在測(cè)試代碼上施加體系結(jié)構(gòu)選擇。盡管在設(shè)計(jì)C時(shí)考慮到C語(yǔ)言是最偉大的,但是它試圖從C ++中使用。

          • 模塊化的

            測(cè)試可以單獨(dú)運(yùn)行,也可以分組進(jìn)行。套件可以共享通用設(shè)置,并且可以位于不同的編譯單元中。

          • 低摩擦

            可以按名稱(chēng)運(yùn)行特定的測(cè)試或套件,以在開(kāi)發(fā)過(guò)程中進(jìn)行集中且快速的迭代。最大的好處是幾乎沒(méi)有啟動(dòng)延遲。

          有一些編譯時(shí)選項(xiàng),如果使用C99或更高版本的語(yǔ)言標(biāo)準(zhǔn)進(jìn)行編譯,則用于參數(shù)測(cè)試(使用參數(shù)運(yùn)行測(cè)試)的語(yǔ)法會(huì)稍微好一些。

           一篇博客文章, 提供了更多信息。雖然已有數(shù)年的歷史,但主要功能仍是準(zhǔn)確的。

          盜竊案(一個(gè)相關(guān)項(xiàng)目)增加了基于屬性的測(cè)試

          瀏覽 28
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人黄色在线看 | 亚洲日本一级片 | 青娱乐国产视频 | 青青青青青操爽 | 无码AV中文字幕 |