Especificar el directorio de archivos de prueba de broma

3 minutos de lectura

Avatar de usuario de Geoff
Geoff

Soy nuevo en las pruebas unitarias y solo quería probar archivos ubicados en un directorio específico solamente

¿Cómo especifico que quiero que las pruebas se ejecuten en archivos solo en un directorio específico e ignoren otros?

entonces instalé jest a través de npm

  "jest": "^23.6.0",

Y especifiqué mi comando de prueba en package.json a través de

scripts:{
    "test": "jest --verbose"
 }

Lo anterior ejecuta todos los archivos, pero quiero que se ejecute para archivos en un directorio específico, por ejemplo, solo el directorio más reciente

como procedo

Agregue el nombre del directorio como argumento

scripts:{
    "test": "jest --verbose ./my-directory"
}

  • Solo para ayudar a otros jóvenes de jest como yo, todos sus archivos de prueba deben terminar en ‘.test.js’ o jest no los encontrará.

    – Álvaro Rodríguez Scelza

    7 dic 2020 a las 21:06

  • Esto también incluirá cualquier subdirectorio con el nombre my-directory.

    –ConnorClark

    1 de julio de 2021 a las 19:33

Avatar de usuario de CodeDraken
CódigoDraken

Agregue la configuración a su paquete.json.

"jest": {
  "testMatch": ["**/laratest/**/*.test.js"]
}

https://jestjs.io/docs/configuration#testmatch-arraystring

  • Esto también se puede usar para scripts: "test:unit": "jest --testMatch '**/src/test/**/?(*.)+(spec|test).[tj]s?(x)'" (Yo no estaba al tanto de eso).

    – aemaem

    2 de mayo a las 7:25

En el interior ./jest.config.js puede agregar una variedad de directorios para buscar

// A list of paths to directories that Jest should use to search for files in
roots: [
    "./",
    "../more-files/"
],

  • Esto es lo que necesitaba, el fragmento de configuración que se agregará a jest.config.js Si desea publicar esto como respuesta a una pregunta específicamente sobre la configuración para jest.config.js Publicaré una pregunta y te la enviaré.

    – Kent Toro

    16 de junio de 2021 a las 22:41

  • Sí, te da más control sobre la ubicación. Por supuesto.

    – ow3n

    17 de junio de 2021 a las 16:45

Este artículo

https://bambielli.com/til/2018-09-09-moving-jest-config-out-of-root/

sugiere hacer algo como esto en su archivo config.js, y cito el artículo:

// jest.conf from inside `config/` directory
{
  rootDir: '../',
  globalSetup: {...},
}

Avatar de usuario de Erik Erikson
erik erikson

[edit: as noted in other answers, the root tests directory can be an argument (e.g. jest ... laratest), as of the original writing, this didn’t work]

Añade el --rootdir opción a su comando:

jest --verbose --rootDir=laratest

O en guiones:

scripts:{
    "test": "jest --verbose --rootDir=laratest"
 }

Como señaló @Dimitri, esto tratará a laratest como la ubicación para la configuración, no solo para las pruebas. Para ese caso, simplemente agregue el argumento.

  • No es tan bueno recomendarlo a menos que desee mover su configuración más tarde

    – Dimitri Kopriwa

    27 de octubre a las 7:21

Avatar de usuario de Connor Clark
connor clark

Debe ser específico para evitar ejecutar otros directorios con el mismo nombre. Por ejemplo, esto ejecuta sólo la prueba en clients:

yarn jest "$PWD/clients"

pero esto ejecuta pruebas en cualquier carpeta llamada clients:

yarn jest clients
# also: yarn jest ./clients

  • No es tan bueno recomendarlo a menos que desee mover su configuración más tarde

    – Dimitri Kopriwa

    27 de octubre a las 7:21

Avatar de usuario de King Friday
rey viernes

Solución Mac (no probada en Windows)

scripts: {
  ...,
  "test": "export NODE_ENV=development && jest"
}

De acuerdo a jest documentos, el NODE_ENV se establecerá en test si ya no está configurado. Así si tu export eso… pasará a través de jest.

¿Ha sido útil esta solución?