assert 宏用于单元测试

需求 在单元测试中,需要能够自动判断结果和预期是否相符,如果不符,就报错。 解决 可以直接参考 st 的 assert_param 宏,根据需要,自己改造下,增加了额外的自定义错误说明语句。 // assert #include <stdint.h> #ifdef USE_ASSERT #define ASSERT_FAIL(expr, msg) ((expr) ? (void)0U : assert_fail((char*) msg, (char*)__FILE__, __LINE__)) void assert_fail(char* msg, char* file, uint32_t line); #else #define ASSERT_FAIL(expr) ((void)0U) #endif /* USE_ASSERT */ #ifdef USE_ASSERT void assert_fail(char* msg, char* file, uint32_t line) { /* User can add his own implementation to report the file name and line number, ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ //SEGGER_RTT_printf(0, "assert_failed: file %s on line %d", file, line); Log::printf(Log::kError, "assert_failed1: file %s on line %d\n", file, line); while(1); } #endif /* USE_ASSERT */ void CurrentAverageTest() { ASSERT_FAIL((1 == 1), "CurrentAverageTest, result 1 error"); } 只要在编译参数中,增加 USE_ASSERT, 开启,即可使用宏来自动判断结果是否相符。...

2023-06-21 · 1 min · 117 words · RamLife

嵌入式软件单元测试

需求 以前自己是在每个模块的下面简单写个测试函数,用于模块的功能测试,最新想学习下嵌入式的单元测试。 解决 先汇总一下资料,等有时间跑一个 demo 起来看看结果. https://blog.csdn.net/ibanezjem/article/details/104891204 https://blog.csdn.net/zhengyangliu123/article/details/79486383 https://mp.weixin.qq.com/s/foD7rxvCXudzbUF-Hp84VA https://www.eet-china.com/mp/a35487.html https://www.zhihu.com/question/19755217 https://www.cnblogs.com/pingwen/p/9206406.html https://zhuanlan.zhihu.com/p/67162814 https://zhuanlan.zhihu.com/p/67164631 https://zhuanlan.zhihu.com/p/67165611 https://zhuanlan.zhihu.com/p/67199540 https://blog.csdn.net/zhengnianli/article/details/104036227 https://blog.csdn.net/ybhuangfugui/article/details/131027470 https://blog.csdn.net/liao20081228/article/details/76984975 参考

2023-06-15 · 1 min · 20 words · RamLife

QT 单元测试

需求 最近学习了 android 上面的单元测试之后,也考虑在 Qt 上进行单元测试。 解决 主要是 Qtest, 先汇总一些资料,等有时间搞几个测试 demo,再慢慢引入. https://zhuanlan.zhihu.com/p/39376945 https://blog.csdn.net/yizhou2010/article/details/78272505 https://zhuanlan.zhihu.com/p/412497880 https://www.cnblogs.com/im18620660608/p/17157968.html https://blog.csdn.net/u011942101/article/details/124074075 https://blog.csdn.net/ipfpm/article/details/109852908 https://www.cnblogs.com/lvdongjie/p/10599650.html https://blog.csdn.net/yang1fei2/article/details/125121777 https://zhuanlan.zhihu.com/p/40901748 http://www.cleartechfei.com/2022/06/qt%e9%a1%b9%e7%9b%ae%e6%90%ad%e5%bb%ba%e5%ae%8c%e6%95%b4%e7%9a%84%e5%8d%95%e5%85%83%e6%b5%8b%e8%af%95%e6%a1%86%e6%9e%b6/ 参考

2023-06-15 · 1 min · 22 words · RamLife

Android Studio 如何单元测试

需求 编写注册资料中,需要写关于单元测试相关的资料,所以需要使用 android studio 来进行单元测试. 解决 android 单元测试分为两种: 本地测试,在 test 文件夹,只涉及 java 本身,可以用 jvm 来进行测试的。 仪器测试,在 androidTest 文件夹,涉及到 android 框架,或者其他特殊情况等等。 本地测试 本地测试很简单,在源码中需要测试的方法上,右键 -> generate -> test,就可以弹出创建 test 的窗口,根据自己需要进行勾选,然后点击 ok 即可。如果已经存在测试代码文件了,还会提示你更新。 在测试代码中,主要依靠各种 assert 来判断是否满足条件,满足就通过,不满足就不通过。还有建议使用 import org.junit.Test; 而不是 import junit.framework.TestCase; assertTrue assertFalse assertEquals 注意在比较浮点数时,最好使用带 delta 参数的方法。 assertNotNull assertNull assertSame 判断是否是同一个引用 assertNotSame 在测试代码的方法或者类左侧有 run 的图标,点击可以选择是否在测试的时候计算覆盖率。 另外,setUp 可以用来做测试前的准备,tearDown 可以用来做测试后的首尾。 仪器测试 参考 编写你的第一个 Android 单元测试 Android 单元测试,从小白到入门开始 在AndroidStudio中使用单元测试 Android 单元测试只看这一篇就够了 构建有效的单元测试 构建插桩单元测试 构建本地单元测试 在 Android Studio 中测试...

2023-06-03 · 1 min · 83 words · RamLife