【发布时间】:2020-09-16 21:02:07
【问题描述】:
在 Jest 中使用 test.each,我想传入一个布尔值来切换我是否期待某事。
这是我试图避免的重复代码类型:
if (expectFoo) {
expect(anObject).toContainEqual(
expect.objectContaining({
name: "foo"
})
);
} else {
expect(anObject).not.toContainEqual(
expect.objectContaining({
name: "foo"
})
);
}
这里有一些伪代码说明了我的首选(更简洁、更短)的方法:
expect(anObject).yesOrNo(expectFoo).toContainEqual(
expect.objectContaining({
name: "foo"
})
);
Jest 里有这样的东西吗?
【问题讨论】:
-
自定义匹配器就是这种情况。
-
好的,但我真的不想从头开始重建像
.toContainEqual()、objectContaining()等 OOTB Jest 匹配器。我不太确定如何为not之类的东西编写自定义替换,它位于expect()和另一个匹配器之间。能做到吗? -
没有注意到评论。这是一个示例,以防它仍然相关。
标签: jestjs