【发布时间】:2019-06-20 02:04:02
【问题描述】:
我不能传递一个抛出到 expect() 的函数,因为 operator precedence 会在 Jest 尝试捕获它之前抛出。
所以不要这样:
expect(thisThrows())
我们必须这样做:
expect(() => thisThrows())
但是说我想参数化它:
test("foo", () => {
const sut = (arg) => { if (!arg) throw new Error(); };
expect(sut(undefined)).toThrow();
expect(sut(null)).toThrow();
expect(sut(0)).toThrow();
expect(sut("")).toThrow();
expect(sut(10)).not.toThrow();
});
这还是原来的问题。
我怎样才能巧妙地做这样的事情,这样我就可以保持我的测试干燥?
【问题讨论】:
标签: node.js unit-testing jestjs