Supper Thomas
Supper Thomas
FLASH里面存放代码, 尽量少的全局变量,都采用heap的方式,每次测试完都打出heap是否有泄露。
考虑用mpy,或者pikascript,可以增加代码的复用性。
1. 单元测试, 测试一些API如何使用的,并且最后需要自行验证正确性。注释中要提供主要测试和使用哪几个API。 2. 覆盖率测试,测试一些API在特殊情况下如何处理的(主要需要覆盖到所有代码)。 最后最好有自行验证,或者要告知测试的代码目的。
每次测试需要添加测试ticket,防止耗时太久
不同测试之间可以拆分,以类型为单位拆分。
### 1、gcov - 标准c/c++代码覆盖率测试工具 gcov 全称 GCC Coverage,是一个测试代码覆盖率的工具,命令行方式的控制台程序,伴随GCC发布,配合GCC共同实现对C/C++文件的语句覆盖和分支覆盖测试; > * 工具地址:https://gcc.gnu.org/onlinedocs/gcc/Gcov.html gcov 可以统计每一行代码的执行频率,实际上哪些代码确实被执行了,每一段代码(section code)的耗时(执行时间),因此,gcov可以帮你优化代码,当然这个优化动作还是应该由开发者完成。  ### 2、lcov - GCC测试覆盖率的前端图形展示工具 lcov 是 GCC 测试覆盖率的前端图形展示工具,简单说就是 gcov 结果展现的一个前端。它通过收集多个源文件的行、函数和分支的代码覆盖信息(程序执行之后生成gcda、gcno文件) 并且将收集后的信息生成 HTML 页面。 > *...
关于RTT使用gcc gcov进行覆盖率测试的问题 https://club.rt-thread.org/ask/question/ae59df2349a66ff5.html
https://coveralls.io/github/RT-Thread/rt-thread
https://mcuoneclipse.com/2017/06/18/adding-gnu-coverage-tools-to-eclipse/ 覆盖率
[ git add $changed_files](https://github.com/supperthomas/rt-thread/blob/1a78aaa44e9f318e8144797e0f84dc3eaf7e533f/.hooks/pre-commit#L62) 这里如果formatting不执行的话,可能git add没有add上去。 可以在最后git add.