[英]Jest Test to check redux-form name
I am newbie in Jest, redux. 我是Redux Jest的新手。 My redux form (in Typescript) is as below:
我的redux表单(在Typescript中)如下:
let SelectorForms = reduxForm({
form: 'selector-form',
validate,
})(SelectorForms);
SelectorForms = connect(state => (
{initialValues: {code: state.code,
region:state.region}}))(SelectorForms);
export default SelectorForms
I am trying to write a test to verify the form name as: 我正在尝试编写测试以将表单名称验证为:
import * as React from "react"; import {mount} from "enzyme"; import thunk from "redux-thunk"; import {Provider} from "react-redux"; import SelectorForms from "./SelectorForm"; import {mockClient} from "./mockClientData"; import configureStore from "redux-mock-store"; const mockStore = configureStore([thunk]); const store = mockStore({ selectedClient: { clientInfo: mockClient }, cimplicityQueryStringData:{Code:'1234',region:'REG'} }); let component; describe("Header", () => { beforeEach(() => { component = mount( <Provider store={store}> <SelectorForms /> </Provider> ); }); it("should have selector-form", () => { console.log(component); expect(component.find("selector-form").length).toBe(1); }); });
However, the test is failing. 但是,测试失败。 I need to know how to get the form name.
我需要知道如何获取表格名称。
Should I just export it before connecting the state? 我应该在连接状态之前将其导出吗? If so how?
如果可以,怎么办?
You should export reduxForm options object. 您应该导出reduxForm选项对象。
export const selectorFormOptions = {
form: 'selector-form',
validate,
};
let SelectorForms = reduxForm(selectorFormOptions)(SelectorForms);
And then you can import { selectorFormOptions }
and expect(selectorFormOptions).toEqual(...)
. 然后可以
import { selectorFormOptions }
并expect(selectorFormOptions).toEqual(...)
。
This also worked: 这也起作用:
export const formName = 'selector-form'; let SelectorForms = reduxForm({ form: formName, validate, })(SelectorForms); SelectorForms = connect(state => ( {initialValues: {code: state.code, region:state.region}}))(SelectorForms); export default SelectorForms
And the test as below: 并测试如下:
import * as React from "react"; import {formName} from "../SelectorForm"; describe("Client Selector Form", () => { it("form name should be selector-form", () => { expect(formName).toBe('selector-form'); }); });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.