簡體   English   中英

CMock-多個定義

[英]CMock - Multiple definitions

我開始從事測試驅動的C開發。

我使用CMock通過運行以下命令來生成模擬類:

ruby cmock.rb ../../../src/util.h

我當前的軟件包結構是:

app/root
  | bin
      | *.*
  | build
      | *.*
  |- cmake
     |- modules
        |- CodeCoverage.cmake
  |- coverage
      |- *.*
  |- external
      |- Unity
      |- CMock
      |- CMakeLists.txt
  |- src
      |- *.c
      |- *.h
      |- CMakeLists.txt
  |- mocks
      |- *.c
      |- *.h
      |- CMakeLists.txt
  |- tests
      |- *.c
      |- *.h
      |- CMakeLists.txt
  |- CMakeLists.txt

我有CMakeLists.txt設置,可以將src編譯為庫:

add_library(app SHARED ${SOURCE_FILES})

測試設置為編譯為可執行文件:

add_executable(tests ${TEST_SOURCES})

target_link_libraries(tests app Unity mocks)

並將模擬程序設置為可編譯為庫:

add_library(mocks ${MOCK_SOURCES})

target_link_libraries(mocks app Unity CMock)

我已經為模擬標頭嘗試了多個位置,並且一直在玩耍,但是我缺少如何避免出現多個定義錯誤的基本知識。

任何人都可以就我的文件結構或策略的不正確之處提供一些指導嗎?

在這里查看答案: https : //github.com/ThrowTheSwitch/CMock/issues/97

基本上,所有這些都歸結為僅鏈接每個測試所需的文件。 使用Unity時,每個測試都會變成其自己的可執行文件。

暫無
暫無

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

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