我正在为我的一个React应用程序编写单元测试用例,类组件中有一些箭头功能和常规功能,但是我不知道该怎么写?那么如何触发下一页函数在测试用例中检查其状态值
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中的两个功能,所以我想检查期望中的状态
答案 0 :(得分:0)
您要调用的方法位于包装器实例中。这意味着您需要这样称呼它:
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');
});
});
希望这会有所帮助!