编程微控制器? 阅读有关TDD的信息,还是只是厌倦了寻找错误并再次重写代码?
朋友,请尝试测试。
本文将展示如何将Ceedling集成到Eclipse / SW4STM32中,从而使代码在每次构建时都经过测试。
是什么促使我写文章的?我找不到详细的说明,但由于内容肤浅或过时(例如,不再通过rake命令运行ceedling),因此无法遵循找到的说明。
开发人员将ceedle集成到eclipse中
的说明非常微薄,唯一发现的说明已付清(这是最后一根稻草):

安装方式
例如,操作系统Windows,CubeMX和SW4STM32。
安装Chocolatey打开PowerShell.exe并执行:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

安装MinGW打开PowerShell.exe并执行:
choco install mingw
安装红宝石打开PowerShell.exe并执行:
choco install ruby
安装宝石吊顶重新启动 PowerShell!
打开PowerShell.exe并执行:
gem install ceedling
健康检查打开PowerShell.exe并执行:
cd /
ceedling new test_ceedling
cd test_ceedling
ceedling test:all

项目创建
我们将ceedling初始化为项目:
cd /
ceedling new test_ceedling
让我们在项目中创建以下结构和c./h。 文件,将路径添加到project.yml:

创建一个新的Builder:

参数->测试:全部

发射
创建另一个控制台窗口以进行测试:

将其切换为显示Ceedling构建器的结果:

按ctrl + B并在控制台中查看测试结果:

添加外围设备
通常,函数的结果取决于外部组件。
除了测试生成工具Unity之外,Cededling还支持CMock(模拟对象和存根的生成器)。
想象一下我们的计算器在计算差异时,
a - b
如果按下按钮,则认为是不同的。
b - a
然后在这种情况下,我们的测试可能如下所示:

按钮单击验证功能已声明但尚未实现(未编写)。
按ctrl + B并在控制台中查看测试结果:

在这种情况下,我们创建了一个按钮的仿制品,该地方可能有UART,SPI,I2C等。
结论
现在,每个应用程序集都位于角落的右侧,您可以观察执行的测试结果:
