gpt4 book ai didi

docker - 来自 docker 的调试 Jest

转载 作者:行者123 更新时间:2023-12-02 18:00:16 25 4
gpt4 key购买 nike

我有一个在 docker 容器中运行的节点项目,chrome-debugger 通过端口 9229 连接到该容器。当使用实际应用程序(而不是运行测试套件)时,调试器显示错误/断点就好了。
但是,当我运行 npm run test:e2e 时在 docker 容器中,调试器命令、断点等被完全忽略。测试套件运行,但没有中断。
诚然,我对 docker 和 node 都是新手,但应用程序(而不是开 Jest )断点正在工作这一事实让我感到非常困惑。如果有人对如何从在 chrome 调试器(或与此相关的代码)中工作的 docker 容器获得开 Jest 断点有任何想法,我会非常感激。配置详情如下:
docker-compose.yml

pf_debugger:
build: ./pf
image: pf_debugger
container_name: pf_debugger
working_dir: /www
ports:
- "9229:9229"
command: "npm run start:debug"
volumes:
- ./pf:/www
- node_modules:/www/node_modules
depends_on:
- "indy_pool"
- "pf"
networks:
- pf_network
包.json
# ...
"scripts":
"start:debug": "nodemon --config nodemon-debug.json",
"test:e2e": "jest --config ./test/jest-e2e.json",
jest-e2e.json
{
"moduleFileExtensions": ["js", "json", "ts"],
"rootDir": ".",
"testEnvironment": "node",
"testRegex": ".e2e-spec.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
}
}
nodemon-debug.json
{
"watch": ["src"],
"ext": "ts",
"inspect": "0.0.0.0:9229",
"exec": "node --inspect=0.0.0.0:9229 --debug -r ts-node/register src/main.ts"
}
启动文件
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Node: Nodemon",
"restart": true,
"sourceMaps": true,
"protocol": "inspector",
"address": "127.0.0.1",
"port": 9229,
"localRoot": "${workspaceRoot}/",
"remoteRoot": "/www/"
},
{
"type": "node",
"name": "e2e-tests",
"request": "launch",
"program": "${workspaceFolder}/node_modules/jest/bin/jest",
"cwd": "${workspaceFolder}",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"args": [
"--runInBand",
"--config=test/jest-e2e.json"
]
}
]

最佳答案

作为引用,我解决了自己的问题。附加 --runInBandnpm:test命令确保遵守断点

关于docker - 来自 docker 的调试 Jest ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52846932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com