在TESSY里跑单元测试时,测试驱动生成与编译链接是一条连在一起的流水线,任何一个配置口径不一致,都可能表现为生成能过、链接失败。更高效的做法是先按标准流程把测试驱动稳定生成出来,再用日志把链接失败定位到具体缺失项或选项差异,避免盲目反复改工程。
一、TESSY测试驱动怎么生成
开始之前,你要先保证测试对象的源文件能被目标编译器正常编译,并且工程环境选对了编译器与目标环境,否则TESSY在分析接口或生成驱动时就可能卡住。生成动作本身建议走一次完整的执行流程,让驱动、编译、链接、运行都跑通,再在此基础上做回归。
1、准备测试对象与用例选择
在TESSY项目树里先选中一个Test Object,并至少勾选一个Test Case,否则执行窗口里的Run选项会灰掉,后续你会误以为生成失败。
2、打开执行对话框选择生成动作
在工具栏点击【Execute Test】,或在Test Object上点右键选择【Execute Test】,打开Execute Test对话框后,先不要改太多选项,优先用默认动作做一次基线执行。
3、勾选Generate Driver并连同Run一起执行
在Actions区域确认勾选【Generate Driver】与【Run】,这一步会让TESSY基于接口信息与用户代码生成测试驱动,并创建可执行文件,成功后再执行测试。
4、点击Execute并观察生成编译链接过程
点击【Execute】开始执行,执行过程中会出现进度对话框,TESSY会依次生成、编译、链接测试驱动并运行测试,你需要把第一轮跑通的输出当作后续排障的参照物。
5、用消息窗口确认是否真正完成到链接阶段
测试执行期间与结束后,错误与进度会打印在消息窗口里,如果生成阶段通过但链接阶段失败,消息窗口通常会停在链接命令或链接器报错附近,这就是你下一步排查的起点。
二、TESSY测试驱动生成后链接失败怎么排查
链接失败本质上是链接器找不到它需要的符号、库或链接脚本,或者编译器与链接器选项与真实工程不一致导致产物不可用。排查时不要先猜原因,先用TESSY的环境配置与日志把差异压缩到可验证的几项,再逐条修正。
1、先确认你确实跑到了Link环节而不是前置条件没满足
回到【Execute Test】对话框确认至少有一个Test Case被选中,并且Actions里勾选了【Generate Driver】与【Run】,否则流程可能根本没进入到编译链接阶段。
2、检查目标环境与编译链接器是否选对
打开环境配置编辑器,核对目标编译器、库、链接器文件与包含路径等关键项,常见问题是库文件没配、链接脚本路径不对、宏定义缺失导致条件编译分支变化。
3、用Makefile命令日志把真实链接命令抓出来
在TESSY里开启日志后再跑一次测试,路径是【Help】→【Logging】→【Makefile commands】,然后去Console视图里直接查看编译与链接命令行,这一步能把链接失败从感觉问题变成命令行差异问题。
4、把TESSY命令行与原始工程命令行做对比
在原始IDE里重建一次工程,把Build控制台里编译器与链接器命令行复制出来,再与TESSY Console里的命令行逐项对照,重点看库搜索路径、库名顺序、链接脚本、优化与段布局相关参数是否一致。
5、必要时强制重建测试驱动避免旧产物干扰
当你改过头文件、宏定义、库路径或链接脚本后,回到【Execute Test】对话框手动勾选【Generate Driver】强制重建,因为环境变化不一定都会被TESSY自动识别,旧驱动或旧目标文件可能会让你误判修复无效。
三、TESSY测试驱动链接失败怎么用日志定位到具体差异
这一步只做一件事,用同一份错误日志把问题收敛到一条可复现的差异项。你不需要一次把所有设置都改完,只要能从链接器报错反推出缺哪一个库、哪一条路径、或哪一类选项,就能快速闭环。
1、先把链接报错定位到缺符号还是缺文件
在消息窗口或Console里找到链接器输出,若是找不到某个库文件,优先查库搜索路径与文件名;若是未解析符号,优先查该符号来自哪个目标文件或库,再反推是否漏加库或库顺序错误。
2、把差异映射到可修改的环境属性
对照TESSY环境配置中与链接相关的条目,把库文件、链接器文件、包含路径与宏定义逐项对应起来,避免在工程外层乱改导致无法追溯。
3、每改一项就用Generate Driver重跑一次并保留对比日志
改完后用【Execute Test】→勾选【Generate Driver】→【Execute】跑一次,并把前后两次的链接命令与报错片段复制保存,形成最小改动集,这样你能确认到底是哪一项修复了链接失败。
4、环境或工具链改动后跑一次通信与环境自检
如果你是在特定目标环境上跑测试,编译器选项与目标调试环境的适配很关键,环境改动后建议按TESSY文档中的相关自检思路做一次验证,避免链接虽过但运行阶段再出更隐蔽的问题。
总结
TESSY测试驱动怎么生成,关键是通过【Execute Test】勾选【Generate Driver】与【Run】跑通一次完整流水线,并用消息窗口确认确实执行到了编译链接阶段。TESSY测试驱动生成后链接失败怎么排查,最有效的方法是开启【Help】→【Logging】→【Makefile commands】抓到真实命令行,对照原工程的编译链接命令逐项找差异,再用强制【Generate Driver】的小步迭代把问题收敛到具体缺项并闭环修复。