我正在尝试调试使用create-react-app / jest / enzyme创建的测试,并且无法在VScode中达到断点。当我运行调试“ Debug CRA Tests”时,所有的工作和测试都可以通过,但在VSCode中不会达到断点。
我错过了配置/设置中的任何内容吗?
import React from "react";
import { configure, shallow } from "enzyme";
import Adapter from "enzyme-adapter-react-16";
import Input from "./Input";
configure({ adapter: new Adapter() });
describe("<Input />", () => {
it("should render <Input label=.../> with label", () => {
const wrapper = shallow(<Input elementType="input" />);
wrapper.setProps({ label: "test" });
expect(wrapper.find("label")).toHaveLength(1);
});
});
还有我的launch.json:
{
"name": "Debug CRA Tests",
"type": "node",
"request": "launch",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/react-scripts",
"args": [
"test",
"--runInBand",
"--no-cache"
],
"cwd": "${workspaceRoot}",
"protocol": "inspector",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
}
和我的package.json:
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.6",
"@fortawesome/free-solid-svg-icons": "^5.4.1",
"@fortawesome/react-fontawesome": "^0.1.3",
"axios": "^0.18.0",
"moment": "^2.22.2",
"react": "^16.6.0",
"react-dom": "^16.6.0",
"react-redux": "^5.0.7",
"react-router-dom": "^4.3.1",
"react-scripts": "2.0.5",
"react-swipeable": "^4.3.0",
"redux": "^4.0.1",
"redux-saga": "^0.16.2"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
},
"devDependencies": {
"enzyme": "^3.7.0",
"enzyme-adapter-react-16": "^1.6.0",
"node-sass": "^4.9.4"
}
....
答案 0 :(得分:1)
在使用create-react-apps文档中指示的vscode启动配置时,我遇到了类似的问题。
它没有用,因为--no-watch
参数不起作用。 解决方案:使用另一种方式,他们不必使用监视模式:
"env": {
"CI": "true"
}
完整的配置正常工作(Node v8.12.0,react-scripts v2.1.3,Jest 23.6.0)
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug CRA Tests",
"type": "node",
"request": "launch",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/react-scripts",
"args": ["test", "--runInBand", "--no-cache", "--no-watch"],
"cwd": "${workspaceRoot}",
"protocol": "inspector",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"env": {
"CI": "true"
}
}
]
}
这是他们撰写本文时在其文档中所述的内容