Проверка на недопустимые ошибки значения для элементов SVG в React с помощью jest - PullRequest
0 голосов
/ 26 апреля 2018

Чтобы протестировать мое приложение реакции, я пытаюсь отловить все ошибки, которые были выброшены или записаны в консоль.

Если обычный элемент 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/

Какие-нибудь хорошие идеи о том, как такие ошибки должны быть проверены?

1 Ответ

0 голосов
/ 26 апреля 2018

Вы можете настроить консоль в своем модуле на тестирование через контекст global

global.console = {error: jest.fn(), log: jest.fn()}

тест выглядит так:

expect(global.console.error).toHaveBeenCalled()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...