首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CMock -多个定义

CMock -多个定义
EN

Stack Overflow用户
提问于 2016-10-26 18:54:37
回答 1查看 1.8K关注 0票数 0

我开始在测试驱动的C开发中工作。

通过运行以下命令,我使用CMock生成模拟类:

代码语言:javascript
复制
ruby cmock.rb ../../../src/util.h

我目前的包装结构是:

代码语言:javascript
复制
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

我有将src编译为库的CMakeLists.txt设置:

代码语言:javascript
复制
add_library(app SHARED ${SOURCE_FILES})

测试是作为可执行文件编译的设置:

代码语言:javascript
复制
add_executable(tests ${TEST_SOURCES})

target_link_libraries(tests app Unity mocks)

并且将模拟设置为一个库来编译:

代码语言:javascript
复制
add_library(mocks ${MOCK_SOURCES})

target_link_libraries(mocks app Unity CMock)

我已经尝试过多个模拟头的位置,并且一直在玩,但是我忽略了如何不获得多个定义错误的基本原理。

有人能对我的文件结构或策略有什么不正确的指导吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-27 14:28:28

见这里的答案:https://github.com/ThrowTheSwitch/CMock/issues/97

基本上,这一切归结为链接只是您需要的文件,为每个测试。当使用统一时,每个测试都成为它自己的可执行的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40270089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档