我使用带有React()的require()的CommonJS模块,这是全局的:
// I don't want require React in every module: // var React = require("react"); var MyComponent = React.createClass({ // React is global here });
在MyComponent上运行单元测试时,Jest找不到React。有没有办法告诉Jest插入全局React对象?(我使用npm和gulp- browserify。)
使用以下设置为我工作。
// package.json "jest": { "scriptPreprocessor": "preprocessor.js", "unmockedModulePathPatterns": [ "react" ], "setupEnvScriptFile": "before_test.js" } // preprocessor.js var ReactTools = require('react-tools'); module.exports = { process: function(src) { return ReactTools.transform(src); } }; // before_test.js React = require("react"); // Global React object