shu*_*e87 6 c++ embedded boost-test atmel atmelstudio
我目前正在Atmel Studio 6中开发一个嵌入式c ++项目.该项目具有相当重要的嵌入式部分,也是一个重要的业务逻辑部分.理想情况下,我想对业务逻辑代码运行一些单元测试.能够方便地构建然后运行这些测试将使单元测试更有可能被使用.
如果我尝试使用默认avr-gcc编译器使用Boost单元测试进行编译,则会出现错误,因为无法找到各种头文件.我知道这些标头并没有为我使用的AVR芯片组实现,因为它们在这种情况下会太昂贵.然而,这些标题仅用于非嵌入部分的单元测试,因此已被放置在它们自己的专用单元测试项目中.
我是否需要设置不同的编译器来编译单元测试?是否可以使用不同的编译器工具链将单元测试编译为安装的默认avr-gcc,或者我是否必须在其他地方编译单元测试?有更简单的方法吗?
当我构建嵌入式软件时,我有时会在(独立于硬件的)业务逻辑上编写单元测试,然后在我的主机 x86 架构上运行它们。
我通常在同一个源代码树上构建一个Eclipse CDT(或Qt Creator)项目,访问您拥有 C++ 逻辑的文件夹,并将它与单元测试框架和gcc测试用例一起编译,针对 x86 架构。Eclipse或Qt Creator将为我处理 Makefile。您可以在此处使用Boost或任何其他单元测试框架;我通常只需要自己提供的 50 行代码,以及一些断言函数(例如,这样您就可以在最终的 AVR 架构中使用相同的单元测试)。
我通常会提供ant任务来构建 AVR 的嵌入式软件,以及构建和通过 x86 的单元测试,因此我可以轻松地将它与持续集成面板集成。
祝你好运!。