En ejecución del mecanismo nacional de prevención de la prueba en un debug terminal en VSCode

0

Pregunta

Estoy tratando de crear una configuración en mi lanzamiento.json que se ejecute npm test en la carpeta en la que el .js reside el archivo. Ejecución npm test manualmente en un terminal funciona bien, tomando el comando correspondiente en el scripts parte de mi package.json:

"scripts": {
    "start": "node --experimental-json-modules nodeserver.js",
    "test": "export MY_VAR=abc && node --experimental-json-modules nodeserver.js"
},

En particular, cuando se ejecuta npm test directamente en un terminal, el env var especificado en el test secuencia de comandos de la línea de toma de efecto y el --experimental-json-modules la bandera se pasa a node.

Este es mi lanzamiento.json:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "command": "npm test",
            "name": "Run npm test",
            "request": "launch",
            "type": "node-terminal"
        }
    ]
}

Esto es casi como-es una de las opciones predefinidas sugerido en el editor, y es muy similar a este.

Pero cuando ejecuto esta configuración en la nodeserver.js el archivo, me sale:

enter image description here

Parece ser que ejecuta node sin la bandera por la que se especifica en la configuración? ¿Qué estoy malentendido acerca de cómo este launch.json esquema funciona?

EDITAR la más he jugado de todo, más parece como si la configuración es simplemente ser ignorado por completo, por lo que se está utilizando el valor predeterminado node.js configuración... soy la selección de la configuración de la lista desplegable y pulsar el icono de play:

enter image description here

En caso de que el trabajo?

Aparte de correr npm start en una terminal, la única manera "automática" de conseguir que el trabajo es mediante la apertura de la package.json y haciendo clic en el pequeño botón de Depuración que aparece por la scripts etiqueta:

enter image description here

Pero me gustaría averiguar cómo utilizar launch.json adecuadamente, de modo que me puede pasar las variables de entorno, etc a través de ese lugar.

debugging node.js npm visual-studio-code
2021-11-23 19:08:15
2
0

Usted puede tratar de crear el mecanismo nacional de prevención de la prueba de secuencia de comandos directamente en su lanzamiento.json como arriba:

{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
    {
        "name": "Run npm test",
        "request": "launch",
        "type": "node",
        "args": ["--experimental-json-modules", "${workspaceFolder}/nodeserver"],
        "env": {
           "MY_VAR": "abc"
        }

    }
]
}
2021-11-29 11:39:31

Exactamente lo mismo sucede con este launch.json demasiado... parece como si la configuración es simplemente ser ignorado por completo, por lo que se está utilizando el valor predeterminado node.js configuración de lanzamiento.
drmrbrewer
0

el lanzamiento.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "pwa-node",
            "request": "launch",
            "name": "Launch Program",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "${workspaceFolder}\\index.js"
        },
        {
            "type": "pwa-node",
            "request": "launch",
            "name": "Run Test",
            "skipFiles": 
            [
                "<node_internals>/**"
            ],

            // You can specify enviorment variables per config here
            // using key value pairs
            "env": 
            {
                "test_variable": "test value"
            },

            // You can also specify a .env file that contains them
            "envFile": "${workspaceFolder}/.env",

            // Here you specify the file you want launched
            "program": "${workspaceFolder}\\test.js",

            // add args to nodejs here
            "runtimeArgs": 
            [
                "--experimental-json-modules"
            ],
        }
    ]
}

Para la referencia: https://code.visualstudio.com/docs/nodejs/nodejs-debugging

2021-12-02 10:34:50

Exactamente lo mismo sucede con este launch.json demasiado... parece como si la configuración (incluyendo la --experimental-json-modules arg) es simplemente ser ignorado por completo, por lo que se está utilizando el valor predeterminado node.js configuración de lanzamiento, sin ningún tipo de argumentos. Tal vez soy el lanzamiento de este incorrectamente... ¿cómo está usted haciendo? La manera en que yo estoy haciendo es en el post original.
drmrbrewer

@drmrbrewer yo seleccione el perfil y, a continuación, presione F5. Me acabo de dar de que el interruptor de prueba y funcionó. i.imgur.com/CiRXX6X.png
John

Yep. F5 es el equivalente de lo que estaba haciendo... pulsando el botón "play" junto al nombre del perfil... todavía me sale el mismo error y el tiempo de ejecución de los argumentos especificados sólo están siendo completamente ignorado... ni idea de lo que está pasando.
drmrbrewer

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................