2017-08-29 60 views
1

我試圖測試使用Jest具有以下設置我的項目:玩笑不是找不到強調

的package.json:

{ 
    "jest": { 
    "rootDir": "spec", 
    "transform": { 
     "^.+\\.jsx$": "babel-jest", 
     "^.+\\.js$": "babel-jest" 
    }, 
    "moduleFileExtensions": [ 
     "js", 
     "jsx" 
    ], 
    "testRegex": "spec/.*/*Spec.jsx?", 
    "setupFiles": [ 
     "<rootDir>/test-env.js" 
    ], 
    "transformIgnorePatterns": [ 
     "<rootDir>/(node_modules)/" 
    ] 
    } 
} 

而且我<rootDir>/test-env.js包含:

global.$ = require("jquery"); 
global.jQuery = $; 
global.React = require("react"); 
global.Backbone = require("backbone"); 
global.Backbone.$ = global.$; 
global._ = require("underscore"); 
global.Q = require("q"); 
global.ReactTestUtils = require("react-addons-test-utils"); 
global.ReactDOM = require("react-dom"); 

但當我運行jest來測試它時,它報告Cannot read property '_' of undefined

error message

我怎樣才能解決這個問題?

回答

2

嘗試在Backbone之前需要下劃線。主幹需要變量_在全局範圍內呈現。

global._ = require("underscore"); 
global.Backbone = require("backbone"); 
...