问题标签 [ceedling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2722 浏览

makefile - 使用 Ceedling / Rake 构建共享库和可执行文件

我最近发现了 Ceedling ( https://github.com/ThrowTheSwitch/Ceedling ),这是一个基于 rake 的好工具,用于构建和单元测试 C 项目。当我玩了一点它时,我有一个总体上积极的体验,并认为我可以用它开始我的下一个 C 项目。

但是,ceedling 似乎无法(或在这方面没有记录)构建包含多个可执行文件或需要特定编译标志的项目。您知道任何使用 Rake /Ceedling 构建共享库、配置 LDFLAGS、CFLAGS 并具有多个目标的 C 项目示例吗?

0 投票
0 回答
1975 浏览

testing - 使用 Ceedling 对 STM32 进行单元测试

我需要在我的 C 项目中做一些单元测试,这将在 STM32F0 处理器中使用。我可以在 x64 gcc 上测试我的抽象代码,但问题是我需要一个带有 little-endian 的平台(STM32F0 默认为 little-endian)。我试图在 project.yml 文件中做一些修改。

但我仍然有编译问题。例如:

有人对 STM32 微控制器的 Ceedling 有现成的配置吗?

0 投票
2 回答
981 浏览

unit-testing - Ceedling 不会创建 Rakefile

我正在尝试使用 Ceedling 为我的 C 项目创建单元测试。我在终端中写道: -ceedling new My_Project_Name Ceedling 创建了一个名为“My_Project_Name”的文件夹。但是这个文件夹中没有 Rakefile。怎么了?

0 投票
2 回答
633 浏览

unit-testing - 如何激活 ceedling 跟踪?

我正在使用 ceedling 在我正在开发的固件中进行单元测试。我想查看调用编译器时使用的所有命令行选项 ceedling。

我尝试使用选项--trace,但我没有发现任何区别。

ceedling 测试:所有 --trace

0 投票
1 回答
299 浏览

yaml - Ceedling 具有多个源文件扩展名

我正在尝试为我现有的嵌入式项目设置单元测试。不幸的是,该项目对源文件“.c”和“.C”有混合扩展名。由于版本控制历史,我不能只将所有文件重命名为“.c”

我尝试相应地编辑 yaml 文件,但它似乎只支持一个或另一个扩展名。

普通的

不是工作方式,但需要

LED.C 未编译。所以链接器失败了。

0 投票
1 回答
404 浏览

c - 一般单元测试:可以模拟自我功能吗?(ceedling/CMock)

主要可以模拟要测试的文件的功能吗?

例如,我想测试包含这些函数的文件 self_test.c:

测试文件主要如下所示:

并完成 self_test.h 文件:

当我这样做时,编译器返回:“错误:函数 function_1。调用次数超出预期。”

我想这是不好的做法,可能不起作用,但由于我的 function_2 相当大,这可以为我节省大量工作,因为我可以独立于 function_2 测试 function_1。而且我正在处理遗留代码,因此不幸的是,用更好的测试界面重写所有内容不是一种选择。

最高输出:

0 投票
1 回答
165 浏览

ruby - Ruby IO.popen 权限被拒绝

我非常接近让 Microchip MPLABX MDB(调试器)与称为 ceedling 的自动化测试套件一起工作。我有一个名为sim_test_fixture.rb

该文件用于打开mdb.bat并传递一个名为sim_instructions.txt. 当我运行 ruby​​ 文件时,我得到了一个权限被拒绝的错误。这是为什么?

脚本运行命令"C:\Program Files (x86)\Microchip\MPLABX\v5.05\mplab_platform\bin\"mdb.bat C:\Users\MichaelMi\Documents\SourceTree\LED-Lighting-Driver\test\simulation\sim_instructions.txt 当我自己运行命令时,它工作得很好。只有当我尝试从以下 ruby​​ 文件运行它时,它才会失败。

0 投票
0 回答
213 浏览

yaml - 未评估 Ceedling 的 YAML 文件中的环境变量

我有一个 Ceedling 项目,我想为其设置非硬编码的 ceedling 路径。为此,我尝试了两种方式-

并像使用它一样

然而,这并没有按预期进行评估 -

我在这里缺少什么,或者不可能为 ceedling 路径本身执行此操作?

0 投票
2 回答
1892 浏览

unit-testing - 如何使用 Ceedling/Unity/Cmock 测试嵌入式系统

我是测试嵌入式系统的新手。我想知道在学习如何使用 ceedling 方面是否有一个好的起点。

我正在开发的项目是用于 CubeSat 项目的嵌入式系统,我们需要一种方法来测试我们的代码。

0 投票
2 回答
657 浏览

cmock - Ceedling/CMock:如何使 .h 文件的某些部分仅对 Cmock 可见

在我的模块中有宏之类的功能。这对于模块测试来说不是障碍,但对于包含该模块的其他模块来说却是障碍。

我的问题:有没有办法让 .h 文件的一部分仅对 CMock 可见?

例如:

这是我更喜欢的方式。但是我应该在哪里定义 MODULE_TEST_CMOCK?我无法在 Project.yml 中定义它,因为通过此更改,我对 Module_1 的模块测试将失败。但另一方面,在我对 Module_2 的模块测试中,它需要 Module_1.h 的模拟版本,我不能指望 FunctionLikeMacro_1 和 FunctionLikeMacro_2 的调用。

感谢您的时间。:)