我有一个托管的Eclipse项目,它使用GNU ARM嵌入式工具链来编译ST微控制器。我现在要做的是,对该项目中的代码进行单元测试。我想用于单元测试的框架是Google Test。
我尝试为单元测试创建第二个Eclipse项目,它使用标准的GNU工具链。像这样:
Project1(ARM)
| --- src
Project2(桌面)
| ---测试
问题是双重的:
为解决第二个问题,我在第一个项目中添加了一个构建配置,尝试使用正确的工具链进行编译。但这没有用。
我选择的另一条路径是在与实际代码相同的项目中进行单元测试,并使用构建配置为单元测试创建可执行文件。像这样:
项目
| --- SRC
| ---测试
这样做也没有用,看起来它和第一种方法的问题似乎都是一样的。
问题不在于单元测试本身。我知道如何使用Google Test在eclipse中测试常规C项目。
如何通过eclipse中的托管项目来进行嵌入式项目的单元测试?有可能吗?如果是这样,这是一个很好的方法吗,还是我应该编写自己的makefile来完成这项任务?
答案 0 :(得分:2)
要使用eclipse自动生成的makefile执行此操作,您必须为每个构建创建一个构建配置(一个用于目标,一个用于桌面),相应地:
如果您决定在目标平台上运行测试,它会变得更复杂;
我有两个示例/模板,你可以基于它们,但它们与eclipse无关:
使用msp430工具链构建Makefile,CppUTest作为测试框架。 https://github.com/felipe-lavratti/UnitTestingEmbeddedC-Demo1
使用Scons构建,测试在两个平台,依赖项和CppUTest中作为单元测试框架运行。 https://github.com/felipe-lavratti/UnitTestYoutubeVideos