我目前正在开发一个React Native项目,想要利用Firebase JS SDK。为了熟悉它的所有API,我打算使用Jest编写一些学习测试。这是我的测试:
import Firebase from 'firebase';
describe('Firebase', function() {
it('should work', function() {
expect(null).toBeNull()
})
});
很遗憾,我遇到了这个错误: ● 测试套件运行失败
TypeError: Cannot read property 'defineProperties' of undefined
at node_modules/firebase/app-node.js:18:234
at Object.<anonymous> (node_modules/firebase/app-node.js:23:260)
at Object.<anonymous> (node_modules/firebase/firebase-node.js:8:16)
at Object.<anonymous> (firebase.test.js:1:104)
如果我将导入状态替换为
import React from 'react'
,一切正常。那么为什么不能使用Firebase测试一些API调用呢?这是我的
package.json
文件:{
...,
"dependencies": {
"firebase": "^3.5.0",
"react": "15.3.2",
"react-native": "0.35.0"
},
"jest": {
"preset": "jest-react-native"
},
"devDependencies": {
"babel-jest": "16.0.0",
"babel-preset-react-native": "1.9.0",
"jest": "16.0.1",
"jest-react-native": "16.0.0",
"react-test-renderer": "15.3.2"
}
}
import * as firebase from 'firebase';
,我会得到Cannot read property 'navigator' of undefined
。 - rel1x