TESSY中文网站 > 热门推荐 > TESSY单元测试怎么做 TESSY单元测试从导入到执行怎么跑通
TESSY单元测试怎么做 TESSY单元测试从导入到执行怎么跑通
发布时间:2026/04/22 10:37:43

  很多人刚上手TESSY时,最容易卡住的不是某一个按钮,而是整条测试链路没有按顺序走。Razorcat官方对TESSY的定位很明确,它覆盖的是从项目建立、测试设计、执行到结果分析和报告的完整单元测试流程;也就是说,真正想把单元测试跑通,不能只盯着执行那一步,而要把项目结构、模块分析、测试数据和执行设置一起接顺。

  一、TESSY单元测试怎么做

 

  先不要一上来就导源码。更稳的做法,是先把测试工程的组织层级建好,再把源文件、测试对象和测试数据逐步落进去。官方说明里写得很清楚,TESSY的测试项目本来就是按test collection、folder、module、test object这套结构组织的,后面所有执行、覆盖率和报告也都是围绕这套结构展开。

 

  1、先新建测试集合和模块

 

  官方手册说明,至少要先有一个test collection,再在里面建立module,module里才会承载后面可测试的函数,也就是test objects。先把这一层建好,后面的源文件导入和模块分析才有落点。

 

  2、把源文件放进模块里再做分析

 

  模块建好以后,不是自动就有测试对象,还要让TESSY去分析C源文件。官方手册写到,分析完成后,源文件里定义的函数会显示成该模块下面的子项,这一步其实就是把“文件”转换成“可测试对象”。

 

  3、再进TDE设计测试数据

 

  Razorcat官方产品页说明,TESSY的Test Data Editor用来编辑输入输出和测试数据,而且测试结果也会直接在这里用颜色和图形方式表现出来。也就是说,单元测试真正落地,不是只生成test object,而是要进TDE把输入、预期输出和必要的桩行为填完整。

 

  4、需要桩替换时先在执行前补好

 

  官方手册对test driver的说明很明确,TESSY在执行时会自动生成test driver;如果被测函数依赖外部变量或调用其他子函数,TESSY可以在test driver里补未定义变量,也可以为缺失的子程序提供stub。换句话说,依赖没补齐时,不要急着执行,先把桩和外部环境设完整,后面会省很多回头路。

 

  二、TESSY单元测试从导入到执行怎么跑通

 

  这一步最容易做反。很多人以为“导入源码以后直接点执行”就够了,结果驱动生成失败、接口状态不就绪,或者跑完看不懂结果。按官方手册给出的顺序,更稳的链路其实是导入文件、分析模块、准备测试数据、配置执行设置、执行测试、最后回到结果和覆盖率里核对。

 

  1、先导入文件,不要跳过模块分析

 

  官方手册明确写到,Test Project view负责导入文件,而模块分析会把源文件中的函数识别成test objects。也就是说,“导入”和“分析”是两步,不是一步;只把文件导进工程但没分析,后面其实还没有真正的测试对象。

 

  2、把接口数据和期望结果填到可执行状态

 

  官方手册在执行前的示例里写得很清楚,测试数据准备好以后,图标状态才表示“已经ready to test”。这说明从导入到执行真正的中间步骤,就是把输入、输出、期望值和必要的传递方向先补齐,而不是先跑再看。

  3、执行前先看Test Execution Settings

 

  TESSY执行时并不是只按默认设置一键运行。官方手册说明,点击Start Test Execution旁边的下拉箭头后,可以先打开Test Execution Settings,再决定这次执行要不要带覆盖率仪表、哪些选项要启用。对第一次跑通流程来说,先看这里比直接点执行更稳。

 

  4、真正执行时,TESSY会自动完成驱动生成、编译、链接和运行

 

  这一点官方手册写得非常直接:执行测试时,TESSY会先基于接口信息和用户代码生成test driver,再把test driver与被测对象链接成可执行文件,最后运行测试。也就是说,执行按钮背后不是“单纯跑一下”,而是一整套自动化链路,所以哪一环没准备好,都会体现在这里。

 

  5、跑完以后先看结果状态,再看覆盖率

 

  Razorcat官方页面说明,测试结果会直接以颜色状态显示在TDE和项目结构里,覆盖率则可以在Coverage Viewer里继续分析;官方手册还特别提醒,哪怕输出值都符合预期,只要覆盖率没达到设定下限,测试结果仍然可能判为失败。所以“跑通”不等于“通过”,还要回到结果和覆盖率一起看。

 

  三、TESSY测试链路卡在哪一环

 

  真正把TESSY用顺,关键不是记住几个菜单名,而是出了问题时能迅速判断自己卡在“工程组织”“对象分析”“数据准备”还是“执行生成”哪一层。Razorcat的公开资料其实已经把这些层次拆得很清楚,所以排查时不要一出错就重建项目,先把当前问题归到正确阶段,效率会高很多。

 

  1、项目里看不到函数,就先回头查模块分析

 

  如果源文件已经进工程,但module下没有出现函数子项,重点不是查执行器,而是先查模块有没有真正做过analyze。因为官方手册已经说明,test object的出现是分析动作带出来的,不是导入动作自动完成的。

 

  2、对象能看到但不能执行,就先查测试数据状态

 

  如果test object已经存在,但始终跑不起来,往往是TDE里的输入输出、预期值或传递方向还没补齐。官方手册里把ready to test状态放在执行前单独强调,本身就在提醒这一步不能跳。

 

  3、执行时报生成或链接错误,就先查依赖和桩

 

  如果一到执行就报错,先不要急着怀疑编译器配置,优先看被测函数依赖的外部变量、被调子函数和用户代码是不是已经补齐。官方手册已经说明,TESSY会自动生成driver,但它仍然需要你把外部依赖关系交代清楚。

 

  4、执行通过但结果不理想,就回头看结果和覆盖率而不是重跑

 

  如果测试能跑完,但有红叉、覆盖率偏低或者项目树里的状态仍然不满意,这时更该回到TDE、Coverage Viewer和结果报告里看差异,而不是立刻再点一次执行。官方产品页对结果分析、Coverage Viewer和PDF报告都给了单独说明,这一层本来就是TESSY流程的一部分,不是执行后的附属动作。

  总结

 

  TESSY真正难的地方,不是“怎么点执行”,而是“怎么把执行前的那几层准备接顺”。工程结构没建好,后面没有测试对象;对象分析没做完,后面没有可测函数;测试数据没进入就绪状态,后面执行链路就会断;依赖和桩没补全,驱动生成和链接也会跟着出问题。把这条线想清楚以后,你再看TESSY,就不会只剩下“导入到执行怎么跑通”这一个笼统问题,而是能很快判断自己现在到底卡在项目、对象、数据还是执行哪一环。

135 2431 0251