cost 204 ms
為什么我在運行Ceedling時必須在C中重新包含header個文件?

[英]Why do I have to re-include header files in C when running Ceedling?

我有一個 C 項目,我打算使用 Ceedling、CMock 和 Unity 堆棧對其進行測試。 我在運行測試時確實遇到了問題...... 我的項目結構如下 還有我的 Ceedling project.yml 文件 欄.h: bar.c: foo.h: foo.c: 我的測試文件 test_ ...

Ceedling/CMock:將 va_list 添加到:treat_as_array:產生 TypeError

[英]Ceedling/CMock: Adding va_list to :treat_as_array: produces a TypeError

我正在為一些非開源繼承代碼開發一些單元測試。 現在我剛剛測試了 ceedling 框架,使用自動生成的測試來確保一切正常運行。 當我對沒有依賴項的模塊運行測試時,一切正常,但是當對具有一堆依賴項的模塊之一運行測試時(我必須將其包含為模擬): Ceedling 在 mocking 以下 funct ...

CMock + Ceedling - 如何模擬從外部庫導入的方法,例如<nfc nfc.h></nfc>

[英]CMock + Ceedling - how to mock methods imported from external library e.g. <nfc/nfc.h>

我正在使用 ceedling + Cmock 對我的方法進行單元測試。 我一直在關注這個指南。 在我的項目中,我有一個 foo.h 和 foo.c 文件: 在我的 test_foo.c 文件中: 問題:運行“ceedling”時出現的錯誤是: libnfc 是我安裝的一個庫,位於 /usr/loc ...

使用 Cmock 為模擬函數添加 __wrap 前綴

[英]Add __wrap prefix to mocked functions with Cmock

我使用mock_foo.c從我的foo.h標頭生成mock_foo.h和 mock_foo.c。 問題是在生成的文件中有與foo.c相同的函數名。 例如, foo_function()現在在foo.c和mock_foo.c中,我必須手動添加__wrap前綴,這樣鏈接器就不會抱怨多個定義。 是否可以 ...

在具有 FreeRTOS 依賴性的項目中進行單元測試

[英]Ceedling unit testing in a project with FreeRTOS dependency

我正在嘗試在 CMock 的幫助下(了解更多關於 CMock的信息)在 Unity 中實現單元測試(了解更多關於 Unity的信息)。 為此,我使用了 Ceedling 工具,它將所有 Unity 組件組合到一個框架中(了解有關 Ceedling的更多信息)。 在我將 FreeRTOS 添加到我的項 ...

嘗試使用 xc16-gcc 編譯/鏈接時出現 Ceedling 錯誤

[英]Ceedling error when trying to compile/link with xc16-gcc

我正在嘗試為我的 Microchip 嵌入式系統進程實現測試驅動開發,並嘗試通過 Ceedling(Unity、CMock 等)來實現。 我一直在嘗試遵循本教程: https://spin.atomicobject.com/2012/10/22/getting-started-with-tdd-fo ...

Ceedling 未能模擬 header

[英]Ceedling failing to mock header

我正在嘗試模擬我正在測試的源文件中包含的 header。 header 開頭如下: 我試圖像這樣模擬它: 但是,在嘗試運行 ceedling 測試時,我不斷收到以下錯誤: ...

如何對從 ISR 調用的靜態回調例程進行單元測試

[英]How to unit test static callback routine called from ISR

我正在使用 ceedling 對 C 應用程序進行單元測試,並試圖實現 ~100% 的高覆蓋率。 我的應用程序模塊之一中有一個靜態回調函數,該函數使用函數指針注冊到 SDK 函數,並在 SDK 的特定事件中調用。 在 appModule.c 中, 我想對這個函數進行單元測試,因為這個函數是靜 ...

如何在 cmock 中為“讀取”功能配置期望

[英]How to configure expectations in cmock for a "read" function

給定一個被測函數,它執行以下操作: 我如何編寫我的單元測試,以便模擬函數: 使用特定數據加載 buf 返回指定的 retval 例如: ...

2020-03-26 13:49:21   1   36    c / cmock  
Ceedling/CMock:如何使 .h 文件的一部分僅對 Cmock 可見

[英]Ceedling/CMock: how to make parts of a .h file visible for Cmock only

在我的模塊中有類似宏的功能。 這對於模塊測試來說不是障礙,但對於包含該模塊的其他模塊來說卻是障礙。 我的問題:有沒有辦法讓 .h 文件的一部分只對 CMock 可見? 例如: 這是我更喜歡的方式。 但是我應該在哪里定義 MODULE_TEST_CMOCK? 我無法在 Project.yml ...

如何使用 Ceedling/Unity/Cmock 測試嵌入式系統

[英]How do I use Ceedling/Unity/Cmock to test embedded Systems

我是使用 ceedling 測試嵌入式系統的新手。 我想知道在學習如何使用 ceedling 方面是否有一個好的起點。 我正在處理的項目是用於 CubeSat 項目的嵌入式系統,我們需要一種方法來測試我們的代碼。 ...

一般單元測試:可以模擬自我功能嗎? (ceedling/CMock)

[英]General unit-testing: possible to mock self functions? (ceedling/CMock)

主要可以模擬要測試的文件的功能嗎? 例如,我想測試由這些函數組成的文件 self_test.c: 測試文件主要如下所示: 並完成 self_test.h 文件: 當我這樣做時,編譯器返回:“錯誤:Function function_1。調用次數超出預期。” 我想這是不好的做法,可能不起作用,但由於 ...

__attribute __((weak))函數導致未定義的引用

[英]__attribute__((weak) ) function result in undefined reference

我目前正在嘗試設置CMock,以使用MinGW和CMake對STM32進行單元測試。 在我的配置文件中,設置:weak:選項,以便生成的模擬將給我弱函數。 一個例子是: 但是,當我編譯時,它為我提供了對HAL_TIM_IC_Init錯誤的未定義引用。 如果刪除weak屬性,則不 ...

Cmock無法識別函數調用

[英]Cmock doesn't recognise function calls

我是Cmock中C Cmock框架的Cmock ,並試圖開始使用它。 我使用了exmaples目錄中提供的“ make_example”,並對其進行了一些修改。 我的代碼顯示在下面: 在運行顯示的測試時,出現下一個錯誤: FAIL:Function func_using_foo_in ...

消除模擬文件的依賴性

[英]eliminating mocked file dependencies

我們正在模擬我們的代碼,但是由於模擬頭包括原始頭(包括多個其他文件),我們很難消除模擬文件所包含的其他文件的依賴性。 我們得到的錯誤如下: 這是由於以下示例場景引起的:讓我們以一個示例文件壓力服務嘲笑ock.c為例,嘲笑c.c ----包括---&gt;模擬.h,事實是,由於生成了模擬 ...

使用cmock模擬Windows回調函數

[英]using cmock to mock a function that is a windows CALLBACK

我在創建一個C函數作為回調傳遞給另一個庫的情況下遇到問題,因此它使用CALLBACK表示法。 這是使用VS2015。 無效回叫TheCallback(void) 我正在使用unity和cmock對一些代碼進行單元測試,而我正在嘗試模擬回調。 因此,當cmock腳本創建所有模擬 ...

如何在 C 中的同一 UUT 中模擬函數

[英]How to mock function in same UUT in C

我正在學習使用 Ceedling 進行單元測試,使用 CMock 進行模擬,在現有的嵌入式 C 代碼庫(我可以調整以適應)上。 我遇到過這樣一種情況,即一個單元中的一個函數調用同一單元中的第二個函數。 我不想將foo_a()作為foo_b()測試的一部分進行測試。 我如何模擬foo_a()以便 ...

CMock-多個定義

[英]CMock - Multiple definitions

我開始從事測試驅動的C開發。 我使用CMock通過運行以下命令來生成模擬類: 我當前的軟件包結構是: 我有CMakeLists.txt設置,可以將src編譯為庫: 測試設置為編譯為可執行文件: 並將模擬程序設置為可編譯為庫: 我已經為模擬標頭嘗試了多 ...


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