【发布时间】:2014-04-06 11:55:00
【问题描述】:
我目前正在 Atmel Studio 6 中开发一个嵌入式 c++ 项目。该项目具有相当重要的嵌入式部分和重要的业务逻辑部分。理想情况下,我想为业务逻辑代码运行一些单元测试。能够方便地构建然后运行这些测试将更有可能使用单元测试。
如果我尝试使用默认的 avr-gcc 编译器使用 Boost 单元测试进行编译,我会收到错误,因为找不到各种头文件。我知道这些头文件不是为我使用的 AVR 芯片组实现的,因为在那种情况下它们太贵了。但是,这些标头仅用于对非嵌入式部分进行单元测试,因此已放置在它们自己的专用单元测试项目中。
是否需要设置不同的编译器来编译单元测试?是否可以使用与安装的默认 avr-gcc 不同的编译器工具链来编译单元测试,还是我必须在其他地方编译单元测试?有没有更简单的方法?
【问题讨论】:
-
很难自动化这种 IDE:s,因此您最终会在 Atmel Studio 中为每个测试(或测试组)创建一个新项目。
-
@Johan,我希望必须创建一个新项目。我只是不确定如何让该单元测试项目编译为 x86 架构而不是 AVR。我需要创建一个外部 makefile 来做到这一点吗?
-
PC 的测试框架将有一个新的“main”和它自己的构建目标/Makefile。
-
附带说明一下,关于这个主题的书可以成为 James W. Grenning pragprog.com/book/jgade/test-driven-development-for-embedded-c 的《嵌入式 C 测试驱动开发》的一本很好的书籍
标签: c++ embedded atmel boost-test atmelstudio