redux-saga-beginner-tutorial
                                
                                 redux-saga-beginner-tutorial copied to clipboard
                                
                                    redux-saga-beginner-tutorial copied to clipboard
                            
                            
                            
                        执行npm run test时报错:Error: call: argument fn is undefined or null
执行npm run test时报错:Error: call: argument fn is undefined or null

如下修改代码就正常了

import test from 'tape';
// import { delay } from 'redux-saga'
import { put, call , delay} from 'redux-saga/effects'
import { incrementAsync } from './sagas'
test('incrementAsync Saga test', (t) => {
  const generator = incrementAsync()
  t.deepEqual(
    generator.next().value,
    // call(delay, 1000),
    delay(1000),
    'counter Saga must call delay(1000)'
  )
  t.deepEqual(
    generator.next().value,
    put({type: 'INCREMENT'}),
    'counter Saga must dispatch an INCREMENT action'
  )
  t.deepEqual(
    generator.next(),
    { done: true, value: undefined },
    'counter Saga must be done'
  )
  t.end()
});
You shouldn't need to import delay from redux-saga/effects. Instead, make sure you are adding the export keyword before the "delay" defined in the sagas.js file. eg
export const delay = (ms = 1000) => new Promise((res) => setTimeout(res, ms));