首页 > 解决方案 > 相当于磁带描述的笑话

问题描述

我是 Tape.js 的长期用户,我正在努力学习如何开玩笑。我有兴趣为我的每个测试用例提供描述作为断言的一部分,这个磁带测试

function myCoolTest(t) {
  t.equal('batman'.length, 6, 'batman should have the right number of characters in it');
  t.ok(1 === 1, 'basic truths should stay true');
  t.deepEqual({test: 1}, {test: 1}, 'deep equality of objects works sensibly');
  t.end();
}

我喜欢能够注释我的测试(例如,'蝙蝠侠应该有正确数量的字符'),这样当我阅读输出时,很清楚什么通过了,什么失败了。据我所知,开玩笑的等价物是

test('example test', () => {
  expect('batman'.length).toBe(6);
  expect(1 === 1).toBeTruthy();
  expect({test: 1}).toBe({test: 1});
});

哪个完全缺乏第一个中的描述?虽然这对于像 ^ 这样的简单示例是可以的。我在其他地方看到的示例似乎表明,如果我想要描述,我应该在相关测试旁边添加注释,但这似乎阻止了创建实用程序测试,例如

  const expectEqual = (a: string, b: string): void =>
    expect(JSON.parse(a)).toEqual(JSON.parse(b));

我只是运气不好还是有我遗漏的方法?

标签: jestjs

解决方案


推荐阅读