@colorkid

Не могу затестить метод React компонента, почему?

Всем привет.
Не получается протестировать методы в class реакт компоненте. Вот метод:
testSum(a, b) {
    return a + b;


В тестах пишу следующие:
const wrapper = shallow(<МойКомпонент/>);
 console.log(wrapper.instance().testSum(2,4).toBe(6));

но рисует ошибку что мол wrapper.instance(...).testSum is not a function
консолю wrapper.instance(), а там кроме вшитых реактовских методов ничего, не одного моего метода, а только
Connect {
      props: {},
      context: {},
      refs: {},
      updater:
       Updater {
         _renderer:
          ReactShallowRenderer {
            _context: {},
            _element: [Object],
            _instance: [Circular],
            _newState: null,
            _rendered: [Object],
            _rendering: false,
            _forcedUpdate: false,
            _updater: [Circular],
            _dispatcher: [Object],
            _workInProgressHook: null,
            _firstWorkInProgressHook: null,
            _isReRender: false,
            _didScheduleRenderPhaseUpdate: false,
            _renderPhaseUpdates: null,
            _numberOfReRenders: 0 },
         _callbacks: [] },
      selectDerivedProps: [Function: selectDerivedProps],
      selectChildElement: [Function: selectChildElement],
      indirectRenderWrappedComponent: [Function: bound indirectRenderWrappedComponent],
      state: null,
      setState: [Function] }


что я делаю не так, хочу тестить методы на компонентах?
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
Connect {
      props: {},
      context: {},

Слово Connect в самом начале как бы намекает, что компонент видимо обернут в connect и естественно никакого метода testSum там не будет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект