¿Existe un archivo .mocha donde pueda especificar valores predeterminados como --no-colors?

81

Me gustaría establecer algunos valores predeterminados para mocha sin tener que escribirlos cada vez. ¿Mocha busca un archivo de configuración / dotfile en cualquier lugar, como jshint busca .jshintrcy npm busca package.json?

mcandre
fuente
1
La respuesta aceptada ahora está obsoleta. Sugiero aceptar el nuevo ( stackoverflow.com/a/54804446/1740079 ) para evitar que más personas utilicen el enfoque anterior.
nicooga

Respuestas:

91

Si. Puede crear un archivo ./test/mocha.optsy en el archivo puede especificar --no-colors.

Consulte mocha.opts en Mocha Doc para obtener más información.

zs2020
fuente
4
Esto ha quedado obsoleto. Vea la respuesta de @ migg aquí .
Katie Kilian
47

El valor predeterminado es ./test/mocha.opts. Puede pasar una ruta personalizada con el --optsparámetro:

mocha --opts ./mocha.opts

Útil en caso de que no almacene sus pruebas en una test/carpeta, sino junto a los archivos de código, por ejemplo.

Cualquier nombre y la extensión parece que funciona, lo que incluso puede hacer mocha --opts .mocharcsi quiere que vaya bien con .jshintrc, .babelrcy similares.

gabssnake
fuente
2
Esta es (o al menos lo era) una función muy oscura. Había perdido la esperanza de algo así hace mucho tiempo, y gracias por señalar que ahora es posible. :)
DBrown
6
¡GRACIAS! Las pruebas deberían estar junto a los archivos. ¡La localidad es importante!
Byron Whitlock
1
¿Es posible que el contenido del archivo sea JSON?
Jared Dykstra
No parece que sea así. La CLI divide el contenido por espacios y luego lo analiza con commandermodule. commanderEl analizador de 's espera una matriz de cadenas. mochafuente: github.com/nishigori/mocha/blob/… - commanderfuente: github.com/tj/commander.js/blob/…
gabssnake
1
Puede iniciar mochaen un script y pasar el contenido de su archivo JSON. Ver: github.com/mochajs/mocha/wiki/…
gabssnake
24

En mocha 6+, mocha.optsse cambió a legacyy el nuevo lugar para definir su configuración es un .mocharcarchivo que puede tener diferentes formatos (JSON, YAML, JS) como se describe en los documentos o una configuración JSON agregada a la clave package.jsonusing mocha.

La especificación de su propia ruta a la configuración de mocha se realiza usando, --config <file>pero mocha usa cualquier .mocharc.*archivo por defecto en el orden descrito en los documentos (JS, YAML, YML, JSON) y también usa automáticamente la mochaclave de package.jsoncon menor prioridad que un archivo de configuración dado.

migg
fuente
Un ejemplo de archivo .mocharc.js está aquí: github.com/mochajs/mocha/blob/master/example/config/.mocharc.js (y también hay otros formatos en ese directorio).
Peter W