jest
config
Jest-cli 有很多必要的 config,比如说
- moduleNameMapper: 自定义处理 test 文件里的 require
- transform: 在这里做文件的预处理
- setupFiles: 在这里做统一初始化处理,比如给 global 挂值
use timeout
jest.runAllTimers();
Object.defineProperty(localModule, 'require', {
value: this._createRequireImplementation(localModule, options)
});
_transformAndBuildScript(filename, options, instrument, fileSource){}
originalCode:
Code:
''use strict';\n// require('jest-cli/bin/jest');\nvar _jsxFileName = "/Users/dearvikki/workspace/fe-libs/react/packages/react-dom/src/__tests__/ReactSmoosh-test.js";var React;\nvar ReactDOM;\nvar ReactDOMServer;\nvar ReactTestUtils;\n\ndescribe('ReactSmoosh', function () {\n beforeEach(function () {\n // jest.resetModules();\n React = require('react');\n ReactDOM = require('react-dom');\n // ReactDOMServer = require('react-dom/server');\n // ReactTestUtils = require('react-dom/test-utils');\n …
jest-runtime:
constructInjectedModuleParameters() {
return [
'module',
'exports',
'require',
'__dirname',
'__filename',
'global',
'jest',
...this._config.extraGlobals
];
}