jest使用问题汇总

Posted by XuBaoshi on November 28, 2017

jest 使用问题汇总

Jest 是 Facebook 推出的用于测试服务与 react 应用程序的 Javascrpt 单元测试框架,使用时所遇到的问题汇总如下:

1.

/img/jest/1.png
解决方式(macOS):

brew install watchman

ps:如果没有下载 brew 参考 https://brew.sh/

https://github.com/facebook/jest/issues/3436

2.

/img/jest/2.png

产生原因:react-test-renderer 版本与 react 版本不匹配。react-test-renderer 16.x 版本 需要 react 16.x 版本才可以。注意版本匹配。
https://github.com/chenglou/react-motion/issues/447

3.

/img/jest/3.png

产生原因:需要依赖 enzyme-adapter-react-15

npm install enzyme-adapter-react-15

import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-15';

configure({ adapter: new Adapter() });

4.

/img/jest/4.png

如果项目是 create-react-app 生成的,将下面的代码放置在 ‘config/polyfills.js’,或新建一个 js 文件如 setupTests.js 将代码粘贴至此文件,package.json 配置如下(具体配置按照自己文件放置而定):

window.matchMedia = window.matchMedia || function() {
    return {
        matches : false,
        addListener : function() {},
        removeListener: function() {}
    };
};

/img/jest/5.png