2017-03-13 2 views
0

私はJestの初心者です。 (活字体で)私のReduxの形式は以下の通りです:冗談フォームの名前を確認するテスト。

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

 
});

テストは失敗しています。私はフォーム名を取得する方法を知る必要があります。

状態を接続する前にエクスポートしてください。もしそうなら、どのように?

答えて

1

reduxFormオプションオブジェクトをエクスポートする必要があります。

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

let SelectorForms = reduxForm(selectorFormOptions)(SelectorForms); 

そしてすることができますimport { selectorFormOptions }expect(selectorFormOptions).toEqual(...)

0

これも働いていた:

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

関連する問題