我是单元测试的新手,我想知道最佳实践以及如何使用 Unity/Ceedling 应用这些实践。 我特别想知道在测试多个 function 输入时如何避免代码重复,但同时要清楚测试的内容。 使用循环有意义还是应该单独调用每个测试? 将具有不同输入的每个测试定义为单独的测试用例是否正常? Ceedl ...
我是单元测试的新手,我想知道最佳实践以及如何使用 Unity/Ceedling 应用这些实践。 我特别想知道在测试多个 function 输入时如何避免代码重复,但同时要清楚测试的内容。 使用循环有意义还是应该单独调用每个测试? 将具有不同输入的每个测试定义为单独的测试用例是否正常? Ceedl ...
我有一个 C 项目,我打算使用 Ceedling、CMock 和 Unity 堆栈对其进行测试。 我在运行测试时确实遇到了问题...... 我的项目结构如下 还有我的 Ceedling project.yml 文件 栏.h: bar.c: foo.h: foo.c: 我的测试文件 test_ ...
我正在为一些非开源继承代码开发一些单元测试。 现在我刚刚测试了 ceedling 框架,使用自动生成的测试来确保一切正常运行。 当我对没有依赖项的模块运行测试时,一切正常,但是当对具有一堆依赖项的模块之一运行测试时(我必须将其包含为模拟): Ceedling 在 mocking 以下 funct ...
我正在使用 Windows Powershell 的 ceedling 开始单元测试。 在让 Unity 与 XC8 编译器一起工作方面,我取得了很大进展。 但我有一个我似乎无法解决的问题。 这是一些构建转储。 'NVMCON1bits 在 XC8 安装目录-"C:/Program Files ...
我正在使用 ceedling + Cmock 对我的方法进行单元测试。 我一直在关注这个指南。 在我的项目中,我有一个 foo.h 和 foo.c 文件: 在我的 test_foo.c 文件中: 问题:运行“ceedling”时出现的错误是: libnfc 是我安装的一个库,位于 /usr/loc ...
我使用mock_foo.c从我的foo.h标头生成mock_foo.h和 mock_foo.c。 问题是在生成的文件中有与foo.c相同的函数名。 例如, foo_function()现在在foo.c和mock_foo.c中,我必须手动添加__wrap前缀,这样链接器就不会抱怨多个定义。 是否可以 ...
我在 Ubuntu 20.04 上使用 Jenkins 来自动化我的构建过程。 有两个项目给了我,它们是高度耦合的。 我将努力将两者分开,但首先我需要设置一些测试。 这两个项目是 PNE 和 BLDC 供参考。 这两个项目共享一些由 ifdefs 过滤的代码。 在我的 ceedling 测试中,我创 ...
我有嵌入式系统项目,正在使用 Ceedling(=Unity 和 Cmock)进行测试。 在一个测试用例中,被测代码就是这么简单: 由于嵌入式系统是8位架构,所以在sprintf中必须使用%lu来格式化32位unsigned int进行打印。 但是,桌面环境 (GCC) 用于测试构建和测试运行(并且 ...
我正在使用 Bazel 对 ac 嵌入式项目进行单元测试,首先我使用 Ceedling(Unity 和 cmock)测试了代码并且它起作用了。 现在,我正在尝试合并到 Bazel,但我没有找到任何关于在 Bazel 中使用 ceedling 的文档。 ...
我正在尝试在 CMock 的帮助下(了解更多关于 CMock的信息)在 Unity 中实现单元测试(了解更多关于 Unity的信息)。 为此,我使用了 Ceedling 工具,它将所有 Unity 组件组合到一个框架中(了解有关 Ceedling的更多信息)。 在我将 FreeRTOS 添加到我的项 ...
我正在尝试为我的 Microchip 嵌入式系统进程实现测试驱动开发,并尝试通过 Ceedling(Unity、CMock 等)来实现。 我一直在尝试遵循本教程: https://spin.atomicobject.com/2012/10/22/getting-started-with-tdd-fo ...
我正在尝试在我的 linux 机器上对一些 STM32 代码进行单元测试(使用 unity+ceedling),但每次我访问任何寄存器时,代码都会失败并出现此错误: 例如,此代码将导致通过 1/1(请注意,我正在测试返回 a+b 且与 STM 外设无关的 function)。 但是这段代码会产生上 ...
我正在尝试模拟我正在测试的源文件中包含的 header。 header 开头如下: 我试图像这样模拟它: 但是,在尝试运行 ceedling 测试时,我不断收到以下错误: ...
我正在使用 ceedling 对 C 应用程序进行单元测试,并试图实现 ~100% 的高覆盖率。 我的应用程序模块之一中有一个静态回调函数,该函数使用函数指针注册到 SDK 函数,并在 SDK 的特定事件中调用。 在 appModule.c 中, 我想对这个函数进行单元测试,因为这个函数是静 ...
我在编写这个宏时遇到了麻烦。 我正在使用ceedling。 我有一个文件“globals.h”,其中包含以下代码: 所以,这里应该发生的是,如果代码没有经过统一测试,任何使用 STATIC 的方法都将是 static,否则它将不是 static。 我的测试文件包含“unity.h”,然后包含“gl ...
如何在 Ceedling 中为使用 static 全局变量的 function 编写测试? 我想测试变量的每个可能值以实现良好的测试覆盖率。 ...
我正在对其进行单元测试的代码是这样的: 我的单元测试用例包括以下内容: Where DoIP_LocalIpAddrAssignmentChg is the function name in which if is located and 0xFF is for invalid state wh ...
我在做单元测试。 将 CMock 与 ceedling 一起使用,有没有办法模拟 func1(),但是按照最初编写的方式运行 func2()? ...
在我的模块中有类似宏的功能。 这对于模块测试来说不是障碍,但对于包含该模块的其他模块来说却是障碍。 我的问题:有没有办法让 .h 文件的一部分只对 CMock 可见? 例如: 这是我更喜欢的方式。 但是我应该在哪里定义 MODULE_TEST_CMOCK? 我无法在 Project.yml ...
我是使用 ceedling 测试嵌入式系统的新手。 我想知道在学习如何使用 ceedling 方面是否有一个好的起点。 我正在处理的项目是用于 CubeSat 项目的嵌入式系统,我们需要一种方法来测试我们的代码。 ...