使用jestjs定义不可变的返回值

时间:2016-06-22 15:20:27

标签: jestjs immutable.js

我刚做了一个简单的测试: npm i babel-cli babel-jest immutable jest-cli babel-preset-2015 并进行简单的测试:

import {List} from 'immutable'

describe('it works',()=>{
  it('should just work',()=>{
    let li = List.of(1,3)
    expect(li.size).toBe(2)
  })
})

非常简单,但测试给出了这个:

- TypeError: Cannot read property 'size' of undefined

虽然定义了List,但它是功能。

你有一个想法为什么这个?

1 个答案:

答案 0 :(得分:0)

只需要在第一行添加jest.unmock('immutable')

根据文件:

  

默认情况下,Jest会自动对require()的所有调用返回真实模块的模拟版本 - 所以我们需要告诉Jest不要模拟我们想要测试的文件或者需要( '../fetchCurrentUser')将返回一个模拟。