1. gzyueqian
      13352868059

      嵌入式開發:嵌入式應用程序 Cpputest 入門

      更新時間: 2022-02-21 07:10:00來源: 粵嵌教育瀏覽量:11749


        嵌入式應用程序中的單元測試應用程序代碼是嵌入式開發人員經常忽略的基本需求。乍一看,啟動并運行單元測試工具似乎很復雜。但是,開發人員可以相對快速地啟動和運行單元測試工具環境。這篇文章將探討 Cpputest 以及開發人員如何利用現有資源來快速啟動和運行環境。


        Cpputest簡介


        Cpputest 是一個基于 C/C++ 的測試框架,用于單元測試和測試驅動代碼。通常,Cpputest 用于測試 C 和 C++ 應用程序。該框架為開發人員提供了一個可以執行測試用例的測試工具。Cpputest 還提供了一組可用于測試假設的斷言。如果結果不正確,則將測試用例標記為未通過測試。


        Cpputest 為嵌入式開發人員提供了一個免費的開源框架來構建單元測試來證明應用程序代碼。通過一些額外的工作,如果他們愿意,開發人員甚至可以在目標上運行測試。一般來說,可以使用 Cpputest 來測試存在于硬件抽象層之上的應用程序代碼。



        安裝 Cpputest


        可以使用幾種不同的安裝方法來設置 Cpputest,可以在 Cpputest 網站上找到。首先是安裝預打包安裝在 Linux 或 MacOS 上。(如果要在 Windows 上安裝,則需要使用 Cygwin 或類似工具)。或者,開發人員可以克隆 Cpputest git 存儲庫。


        如果你希望快速入門并進行一些實驗,我建議你采用不同的方法。James Grenning 組建了一個 Cpputest 入門項目,其中包含開發人員入門所需的一切。啟動項目包括一個可以加載的 docker 文件和一個安裝和配置環境的簡單命令。如果你想繼續,請將 Cpputest 入門項目克隆到你計算機上的合適位置。完成此操作后,你可以按照 James 在 README.md 中的說明進行操作,或者按照本節的其余部分進行操作。


        在走得太遠之前,確保你在你的機器上安裝了 docker 是很重要的。安裝過程因 Linux 風格而異,因此你必須搜索一下以找到適合你的方法。


        安裝并運行 docker 后,嵌入式開發人員可以使用他們的終端應用程序導航到 Cpputest 啟動項目目錄的根目錄,然后運行以下命令:


        docker-compose run cpputest make all


        第一次運行上述命令時,它需要幾分鐘才能運行。之后,該命令將下載 docker 鏡像,克隆并安裝 Cpputest 并構建啟動項目。此時,你會在終端中看到類似以下內容:



        正如你在上面看到的,在第 23 行的 tests/MyFirstTest.cpp 中存在測試用例失敗以及 ERROR: 2 消息。這意味著 Cpputest 和 James 的啟動項目已安裝并正常工作。


        利用 Docker 容器


        docker-compose run 命令使 docker 加載 cpputest 容器,然后 make all。一旦命令執行完畢,它將離開 docker 容器。在上圖中,這就是我們得到 ERROR: 2. 它返回 docker 容器退出狀態的錯誤代碼的原因。


        沒有必要經常使用“docker-compose run cpputest make all”命令。嵌入式開發人員還可以使用以下命令進入 docker 容器并留在那里:


        docker-compose run --rm --entrypoint /bin/bash cpputest


        通過這樣做,開發人員可以簡單地使用命令“make”或“make all”。這樣做的好處是它稍微簡化了流程,并刪除了從原始命令退出 docker 映像時返回的 ERROR 消息。因此,例如,如果我運行 docker 命令并 make,測試工具的輸出現在如下所示:



        要退出 docker 容器,我需要做的就是輸入 exit。


        試運行Cpputest


        現在我們已經設置了 Cpputest 入門項目,很容易進入并開始使用測試工具。在添加我們自己的任何測試之前,我們應該刪除最初的失敗測試用例。此測試用例位于 /tests/MyFirstTest.cpp 中。可以使用你喜歡的文本編輯器打開該文件。你會從上圖中注意到測試失敗發生在第 23 行。該行包含以下內容:


        FAIL("Your test is running! Now delete this line and watch your test pass.");


        FAIL 是一個內置于 Cpputest 中的斷言。所以首先要嘗試的是注釋掉該行,然后運行“make”或“make all”命令。如果這樣做,你將看到測試工具現在成功運行,沒有任何失敗的測試用例,如下所示:



        現在你可以使用 Cpputest 手冊中的斷言開始構建你的單元測試用例。嵌入式開發人員可能決定刪除 MyFirstTest.cpp 并添加他們的測試模塊或開始實施他們的測試用例。這完全取決于你的最終目的。


        結論


        我們已經簡要討論了如何快速啟動和運行 Cpputest。使用 Cpputest 非常簡單,而且結果令人信服。開發人員可以利用他們的測試工具和斷言來檢查代碼是否按預期工作。如果出現問題,運行測試工具會將開發人員指向失敗的測試用例并提供失敗測試的行號。測試工具可以幫助開發人員執行自動化回歸測試并快速識別代碼中的錯誤。


        開發人員不一定非要使用 Cpputest。有許多可用的單元測試工具。然而,嵌入式開發人員需要使用某種類型的測試工具,而 Cpputest 很容易啟動和運行,并且幾乎可以集成到任何構建過程中。


      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲免费精品视频在线一区二区 | 伊人久久大香线蕉综合影院首页 | 亚洲水中色Av综合在线 | 日本一线A视频免费观看 | 婷婷精品视频223 | 亚洲福利在线观看 |