Я не могу передать функцию, которая выбрасывает expect()
из-за приоритета оператора , который сгенерирует, прежде чем 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();
});
Это все еще имеет первоначальную проблему.
Как я могу сделать что-то подобное аккуратно, чтобы мои тесты оставались сухими?