Как написать тестовый блок с использованием Jest в реагировать? - PullRequest
0 голосов
/ 06 ноября 2019

Я пишу тестовые примеры для одного из моих реактивных приложений, в компоненте класса есть некоторые функции стрелок и нормальные функции, но я не понимаю, как написать для этого? как запустить функцию next-Page для проверки ее состояния в тестовом примере

 const setup = (   const store = storeFactory(initialState);

        return mountWithAppProvider(<Invoice  store = {store}/>);
    }

    const wrapper = setup();

      test('should pagination next page works properly', () => {
          wrapper.nextPage();   
      })


    renderInvoiceTotals() {
            let a = 0 ;
            let b = 0;
            let c = 0;

             c = a+b ;

             console.log("result :"c);


            }

    //arrow function

       nextPage = () => {
            const newPageNumber = this.state.currentPage + 1;
            this.setState({ currentPage: newPageNumber });
        };

В соответствии с кодом я хочу вызвать функцию nextPage из моего тестового файла, но не могу вызвать ееитоги renderInvoice Итак, в моем модульном тесте я просто хотел проверить, что обе функции в nextPage, вызвав его, я хочу проверить состояние в ожидаемом

1 Ответ

0 голосов
/ 06 ноября 2019

Метод, который вы хотите вызвать, находится внутри экземпляра оболочки. Это означает, что вам нужно назвать его так:

wrapper.instance().nextPage();

Настройте свой тестовый файл так:

import React from "react";
import { mount } from 'enzyme';

describe('Testing component',() => {
  let wrapper = mount(<Invoice  store = {store} />)

  test('testing nextPage method', ()=>{
    wrapper.instance().nextPage();
    expect(wrapper.state('currentPage')).toEqual('the value you want here');
  });
});

Надеюсь, это поможет!

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