动作必须是普通对象。使用自定义中间件代替模拟-Jest

时间:2018-12-13 04:06:43

标签: reactjs testing redux jestjs redux-store

我是Jest测试的新手,我在操作文件中定义了一个方法,该方法在内部正在调用进行API调用的方法。

下面发布的是一个示例示例:假设这是在“ insertAction.js”中

export const uploadFile = (name: string, dob: string) => {
   if(
      check for validname
     ) {
        InsertUser(name, dob)

     }        
 }

const InsertUser = (name: string, dob: string) => {
 axios.post('/user', {
 firstName: 'Fred',
 lastName: 'Flintstone'
})
.then(function (response) {
  console.log(response);
 })
.catch(function (error) {
  console.log(error);
 }) 
}

我的努力:

import configureMockStore from 'redux-mock-store'
import {uploadFile} from 'insertAction';

describe('setting up store', () => {
     beforeEach(() => {
       configureMockStore(someMiddleware);
      });
  it('check for insert Scenario' , () => {
       return store.dispatch(uploadFile("tom", "05/12/2014")).then(()={
          console.log("store", store.getActions());
        });
   });
});

引发错误:

动作必须是普通对象。使用自定义中间件代替模拟。

任何帮助将不胜感激。

0 个答案:

没有答案