Использование Jest + Enzyme + React не указывает правильную линию на ошибку - PullRequest
0 голосов
/ 25 сентября 2018

Когда в моем тесте возникает ошибка (скажем, я использую функцию, которой нет в Jest), Jest не указывает правильную линию для ошибки.Поэтому, если я использую функцию, которая не существует:

expect(wrapper.find(Link)).to.have(...)

Она отображает:

TypeError: Cannot read property 'have' of undefined

> 1 | import React from 'react';
    |                                                                   ^
  2 | import { shallow, mount, render } from 'enzyme';
  3 | import Logo from '../header/logo.js';
  4 | import { BrowserRouter as Router, Link } from 'react-router-dom';

  at Object.<anonymous> (src/__tests__/scenes/header/logo-test.js:1:596)

Так что можно копаться в моих файлах, чтобы найти правильную строку, но я надеюсь, что Jest сможетуказать правильную линию?Я не уверен, почему возникает эта проблема отладки.

1 Ответ

0 голосов
/ 25 сентября 2018

Посмотрите на полную ошибку.Я согласен, что ошибка начинается с

Cannot read property 'have' of undefined

Но журнал ошибок заканчивается следующим образом, где вы можете четко видеть, в какой строке проблема.Поправьте меня, если вы ожидаете чего-то другого.

  10 |     const wrapper = shallow(<Field />);
  11 |     console.log(wrapper.debug());
  12 |     expect(wrapper.contains(<p id="hello" />)).toBeTruthy();
> 13 |     expect(wrapper.find("p").prop("id")).to.have("hello");
  14 |   });
  15 | });

Для того же я создал песочницу, где появляется такая ошибка, и я ясно вижу вышеупомянутое поведение https://codesandbox.io/s/7z43vjlx

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