簡體   English   中英

開玩笑測試以檢查redux表單名稱

[英]Jest Test to check redux-form name

我是Redux Jest的新手。 我的redux表單(在Typescript中)如下:

let SelectorForms = reduxForm({
  form: 'selector-form',
  validate,
})(SelectorForms);

SelectorForms = connect(state => (
  {initialValues: {code: state.code,
    region:state.region}}))(SelectorForms);

export default SelectorForms

我正在嘗試編寫測試以將表單名稱驗證為:

 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); }); }); 

但是,測試失敗。 我需要知道如何獲取表格名稱。

我應該在連接狀態之前將其導出嗎? 如果可以,怎么辦?

您應該導出reduxForm選項對象。

export const selectorFormOptions = {
  form: 'selector-form',
  validate,
};

let SelectorForms = reduxForm(selectorFormOptions)(SelectorForms);

然后可以import { selectorFormOptions }expect(selectorFormOptions).toEqual(...)

這也起作用:

 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 

並測試如下:

 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM