为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 jest 的 test.each api 中格式化测试标题

如何在 jest 的 test.each api 中格式化测试标题

小唯快跑啊 2023-09-14 18:04:43
jest 中的每个 API 都非常方便,但我不确定当行由非基本数据类型组成时如何创建标题。在下面的示例中,我想命名测试test function ${f.name},但我似乎无法弄清楚如何通过“位置注入参数”来完成此操作?const t1 = () => 't';const t2 = () => 't';test.each([t1, t2])('test function %???', f => { // what to use instead of %??? here ?   console.log(`test function ${f.name}`);   expect(f()).toBe('t');});
查看完整描述

1 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

你应该使用%p. 该符号使用漂亮格式包来字符串化任何 JavaScript 值,甚至function. 看一下test.each(table)(name, fn, timeout)。

例如

const t1 = () => 't';

const t2 = () => 't';


test.each([t1, t2])('test function %p', (f) => {

  console.log(`test function ${f.name}`);

  expect(f()).toBe('t');

});

测试结果:


 PASS  src/stackoverflow/65042421/index.test.ts (15.895s)

  ✓ test function [Function t1] (15ms)

  ✓ test function [Function t2] (1ms)


  console.log src/stackoverflow/65042421/index.test.ts:5

    test function t1


  console.log src/stackoverflow/65042421/index.test.ts:5

    test function t2


Test Suites: 1 passed, 1 total

Tests:       2 passed, 2 total

Snapshots:   0 total

Time:        17.14s


查看完整回答
反对 回复 2023-09-14
  • 1 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信