我试图用酶和摩卡测试React组件如下
import { mount, shallow } from 'enzyme';
import React from 'react';
import chai, { expect } from 'chai'
import chaiEnzyme from 'chai-enzyme'
import sinon from 'sinon'
import MyComponent from 'myComponent'
chai.use(chaiEnzyme())
describe('MyComponent', () => {
const store = {
id: 1
}
it ('renders', () => {
const wrapper = mount(<MyComponent />, {context: {store: store}})
})
})
实际上没有编写测试,因为它在声明包装器时失败了
错误消息:TypeError:_this.store.getState不是函数
不知道问题是什么,也无法找到解决这个问题的方法!
任何帮助都会很棒!
答案 0 :(得分:1)
此错误表示存储无法正确获取状态。 我建议使用redux-mock-store来模拟商店 并导入configureStore
FileOutputStream imageOutFile = new FileOutputStream("path/filename");
imageOutFile.write(byteArray);
imageOutFile.close();
然后通过执行此操作来模拟状态
import configureStore from 'redux-mock-store';
您可以继续使用提供程序
包装组件 const initialState = { id: 1 };
const mockStore = configureStore();
答案 1 :(得分:0)
此外,代码示例中不应该chai.user()
为chai.use()
吗?