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
CódigoDraken
Agregue la configuración a su paquete.json.
"jest": {
"testMatch": ["**/laratest/**/*.test.js"]
}
-
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 parajest.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: {...},
}
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
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
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
.