You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在test.for中提取对象的filename属性作为测试名称

如何在test.for中提取对象的filename属性作为测试名称

这个问题我之前调试测试用例时也碰到过,默认显示整个对象的测试名确实又长又难读,看着头疼!其实解决起来很简单,只要调整测试名称的生成方式,动态提取你需要的filename属性就行。

你原来的代码里用了'Filename %s'作为测试名称模板,这里的%s会直接把整个expected对象塞进去,所以才会显示一大串冗余内容。我们可以改成两种方式:

方式一:用函数生成自定义测试名(兼容性最好)

把测试名称的字符串换成一个函数,这个函数接收每个测试用例的expected对象,返回只包含filename的字符串,这样测试名称就会变得简洁清晰:

describe("ExtractDateFromText", () => {
  test.for(scannedReceiptText)((expected) => `Filename ${expected.filename}`, async (expected) => {
    const dateResult = dateFromRawData(expected.ocrResponse);
    // 这里可以添加你的断言逻辑
  });
});

方式二:用对象属性占位符(部分测试框架支持,比如Vitest)

如果你的测试框架支持对象属性占位符(比如Vitest的test.for),可以直接在字符串模板里用$filename来引用对象的属性,写法更简洁:

describe("ExtractDateFromText", () => {
  test.for(scannedReceiptText)('Filename $filename', async (expected) => {
    const dateResult = dateFromRawData(expected.ocrResponse);
  });
});

两种方法都能帮你把测试名改成只显示filename,选哪种看你用的测试框架支持情况就好~

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 08:13:09