Чтобы протестировать мое приложение реакции, я пытаюсь отловить все ошибки, которые были выброшены или записаны в консоль.
Если обычный элемент HTML, такой как <p>
, имеет недопустимые атрибуты, такие как <p color={false}></p>
response, выдает ошибку свыше console.error
, которую я могу проверить следующим образом (я использую jest с ферментом):
it("renders without error", () => {
jest.spyOn(console, "error");
mount(<p color={true}>asdf</p>);
expect(console.error).toHaveBeenCalled();
});
Теперь, если я хочу проверить недопустимые значения в элементе SVG, как это:
<svg>
<rect width={-1}/>
</svg>
Мой тест не будет работать, потому что ошибка не печатается с использованием console.error
, и я не могу понять, что именно печатает.
Чтобы воспроизвести ошибки, можно проверить вывод консоли на этой скрипке: https://jsfiddle.net/uu1j4ksa/
Какие-нибудь хорошие идеи о том, как такие ошибки должны быть проверены?