Задать вопрос
@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 Простой Комментировать
Решения вопроса 1
Connect {
      props: {},
      context: {},

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

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

Похожие вопросы