【发布时间】:2020-03-09 13:53:27
【问题描述】:
我正在使用 react-test-library 当我尝试运行测试时出现错误:
TypeError: Cannot read property 'apiBaseUrl' of undefined
> 1 | let baseUrl = window.config.apiBaseUrl;
| ^
2 | export default baseUrl
这是我的 package.json:
{
"name": "dstest",
"version": "0.1.0",
"private": true,
"dependencies": {
....
},
"scripts": {
"start": "node scripts/start.js",
"build": "node scripts/build.js",
"test": "react-scripts test"
},
"eslintConfig": {
"plugins": [
"react-pug"
],
"extends": [
"react-app",
"plugin:react-pug/all"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"@testing-library/react": "^9.5.0",
"babel-plugin-transform-react-jsx": "^6.24.1",
"jest-sonar-reporter": "^2.0.0",
"babel-plugin-transform-react-pug": "^7.0.1"
},
"babel": {
"presets": [
"react-app"
],
"plugins": [
"transform-react-pug",
"transform-react-jsx"
]
},
"jest": {
"collectCoverageFrom": [
"src/**/*.{js,jsx,ts,tsx}",
"!src/**/*.d.ts",
"!src/index.tsx",
"!src/serviceWorker.ts"
],
"coverageReporters": [
"text",
"lcov",
"json"
]
}
}
这是我的测试文件:
import React from "react";
import { UserName } from "Containers";
import { render } from "@testing-library/react";
import { BrowserRouter as Router } from "react-router-dom";
it("renders without crashing", async () => {
const wrapper = render(
<Router>
<UserName />
</Router>
);
expect(wrapper);
wrapper.unmount();
});
我在尝试运行测试脚本时遇到了这个错误:
● Test suite failed to run
TypeError: Cannot read property 'apiBaseUrl' of undefined
> 1 | let baseUrl = window.config.apiBaseUrl;
| ^
2 | export default baseUrl
3 |
at Object.<anonymous> (src/ApiConfig/baseURL.js:1:29)
at Object.<anonymous> (src/Store/Actions/getData/index.js:1:1)
at Object.<anonymous> (src/Store/Actions/index.js:2:1)
at Object.<anonymous> (src/Containers/Form/UserId/index.js:3:1)
at Object.<anonymous> (src/Containers/index.js:2:1)
at Object.<anonymous> (src/Containers/Form/UserName/index.test.js:2:1)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 0.065s
我需要做什么?
【问题讨论】:
-
这不是未定义的窗口,而是 window.config 如果窗口未定义,它会告诉您它无法读取未定义的配置
-
所以我需要使用这个配置我怎么能弄清楚这个?
标签: reactjs react-testing-library