|
| 1 | +# CLI |
| 2 | + |
| 3 | +```console |
| 4 | +ava [<pattern>...] |
| 5 | +ava debug [<pattern>...] |
| 6 | +ava reset-cache |
| 7 | + |
| 8 | +Comandos: |
| 9 | + ava [<pattern>...] Ejecuta los tests [default] |
| 10 | + ava debug [<pattern>...] Activa el Node.js inspector and ejecuta un unico archivo de pruebas |
| 11 | + ava reset-cache Reinicia la cache de compilacion de AVA y termina su ejecucion |
| 12 | + |
| 13 | +Posicionales: |
| 14 | + pattern patrones globales para seleccionar que archivos de prueba ejecutar. Dejalo en blanco si quieres ejecutar todos los archivos. |
| 15 | + Agrega dos punto : y especifica numeros de linea de pruebas especificas a ejecutar [string] |
| 16 | + |
| 17 | +Options: |
| 18 | + --version Muestra el numero de version [boolean] |
| 19 | + --color Forza que la salida use colores [boolean] |
| 20 | + --config Especifica un archivo JavaScript desde el cual se leera la configuracion, |
| 21 | + en lugar de usar los archivos package.json o ava.config.* |
| 22 | + --help Muestra la ayuda [boolean] |
| 23 | + --concurrency, -c Maximo numero de archivos de prueba ejecutandose al mismo tiempo |
| 24 | + (default: CPU cores) [number] |
| 25 | + --fail-fast Detener luego de que la primera prueba falle [boolean] |
| 26 | + --match, -m Solo ejecutar pruebas que hagan match on el titulo (pueden ser repetidas) |
| 27 | + [string] |
| 28 | + --node-arguments Argumentos adicionales para ejecutar los worker processes de Node.js |
| 29 | + (especificar como una unica cadena) [string] |
| 30 | + --serial, -s Ejecutar pruebas en modo serial [boolean] |
| 31 | + --tap, -t generar salida en modo TAP [boolean] |
| 32 | + --timeout, -T Asigna un timeout global (milisegundos o formato legible por humanos, |
| 33 | + ej. 10s, 2m) [string] |
| 34 | + --update-snapshots, -u Actualiza snapshots [boolean] |
| 35 | + --verbose, -v Habilita output en modo verbose [boolean] |
| 36 | + --watch, -w Re-ejecutar pruebas cuando los archivos cambian [boolean] |
| 37 | + |
| 38 | +Ejemplos: |
| 39 | + ava |
| 40 | + ava test.js |
| 41 | + ava test.js:4,7-9 |
| 42 | +``` |
| 43 | + |
| 44 | +*Ten en cuenta que la CLI utilizará tu instalación local de AVA cuando esté disponible, incluso cuando se ejecute globalmente.* |
| 45 | + |
| 46 | +AVA busca archivos de prueba utilizando los siguientes patrones: |
| 47 | + |
| 48 | +* `test.js` |
| 49 | +* `src/test.js` |
| 50 | +* `source/test.js` |
| 51 | +* `**/test-*.js` |
| 52 | +* `**/*.spec.js` |
| 53 | +* `**/*.test.js` |
| 54 | +* `**/test/**/*.js` |
| 55 | +* `**/tests/**/*.js` |
| 56 | +* `**/__tests__/**/*.js` |
| 57 | + |
| 58 | +Los archivos dentro de `node_modules` son *siempre* ignorados. También lo son los archivos que comienzan con `_` o estan dentro de directorios que comienzan con un solo `_`. Además, los archivos que coinciden con estos patrones se ignoran de forma predeterminada, a menos que se configuren patrones diferentes: |
| 59 | + |
| 60 | +* `**/__tests__/**/__helper__/**/*` |
| 61 | +* `**/__tests__/**/__helpers__/**/*` |
| 62 | +* `**/__tests__/**/__fixture__/**/*` |
| 63 | +* `**/__tests__/**/__fixtures__/**/*` |
| 64 | +* `**/test/**/helper/**/*` |
| 65 | +* `**/test/**/helpers/**/*` |
| 66 | +* `**/test/**/fixture/**/*` |
| 67 | +* `**/test/**/fixtures/**/*` |
| 68 | +* `**/tests/**/helper/**/*` |
| 69 | +* `**/tests/**/helpers/**/*` |
| 70 | +* `**/tests/**/fixture/**/*` |
| 71 | +* `**/tests/**/fixtures/**/*` |
| 72 | + |
| 73 | +Cuando usas `npm test`, puedes pasar argumentos posicionales directamente` npm test test2.js`, pero las banderas deben pasarse como `npm test - --verbose`. |
| 74 | + |
| 75 | +## Ejecución de pruebas con títulos que tienen coincidencias |
| 76 | + |
| 77 | +La bandera `--match` permite ejecutar solo las pruebas que tienen un título con coincidencias. Esto se logra con patrones simples de comodines (wildcards). Los patrones no distinguen entre mayúsculas y minúsculas. Consulte [`matcher`] (https://github.com/sindresorhus/matcher) para obtener más detalles. |
| 78 | + |
| 79 | +Coincidir con títulos que terminan con `foo`: |
| 80 | + |
| 81 | +```console |
| 82 | +npx ava --match='*foo' |
| 83 | +``` |
| 84 | + |
| 85 | +Coincidir con títulos que empiezan con `foo`: |
| 86 | + |
| 87 | +```console |
| 88 | +npx ava --match='foo*' |
| 89 | +``` |
| 90 | + |
| 91 | +Coincidir con títulos que contienen `foo`: |
| 92 | + |
| 93 | +```console |
| 94 | +npx ava --match='*foo*' |
| 95 | +``` |
| 96 | + |
| 97 | +Coincidir con títulos que son *exactamente* `foo` (aunque sin distinción entre mayúsculas y minúsculas): |
| 98 | + |
| 99 | +```console |
| 100 | +npx ava --match='foo' |
| 101 | +``` |
| 102 | + |
| 103 | +Coincidir con títulos que no contienen `foo`: |
| 104 | + |
| 105 | +```console |
| 106 | +npx ava --match='!*foo*' |
| 107 | +``` |
| 108 | + |
| 109 | +Coincidir con títulos que comienzan con `foo` y terminan con `bar`: |
| 110 | + |
| 111 | +```console |
| 112 | +npx ava --match='foo*bar' |
| 113 | +``` |
| 114 | + |
| 115 | +Coincidir con títulos que comienzan con `foo` o terminan con `bar`: |
| 116 | + |
| 117 | +```console |
| 118 | +npx ava --match='foo*' --match='*bar' |
| 119 | +``` |
| 120 | + |
| 121 | +Ten en cuenta que un patrón de coincidencias tiene prioridad sobre el modificador `.only`. Solo se comparan las pruebas con un título explícito. Las pruebas sin títulos o cuyo título se deriva de la función de implementación se omitirán cuando se usa `--match`. |
| 122 | + |
| 123 | +Esto es lo que sucede cuando se ejecuta AVA con un patrón de coincidencia de `*oo*` y las siguientes pruebas: |
| 124 | + |
| 125 | +```js |
| 126 | +test('foo se ejecutara', t => { |
| 127 | + t.pass(); |
| 128 | +}); |
| 129 | + |
| 130 | +test('moo tambien se ejecutara', t => { |
| 131 | + t.pass(); |
| 132 | +}); |
| 133 | + |
| 134 | +test.only('boo tambien se ejecutara pero no exclusivamente', t => { |
| 135 | + t.pass(); |
| 136 | +}); |
| 137 | + |
| 138 | +// No se ejecutará, sin título |
| 139 | +test(function (t) { |
| 140 | + t.fail(); |
| 141 | +}); |
| 142 | + |
| 143 | +// No se ejecutará, sin título explícito |
| 144 | +test(function foo(t) { |
| 145 | + t.fail(); |
| 146 | +}); |
| 147 | +``` |
| 148 | + |
| 149 | +## Ejecutar pruebas usando números de línea específicos |
| 150 | + |
| 151 | +AVA permite ejecutar pruebas exclusivamente haciendo referencia a sus números de línea. Apuntando a una sola línea, un rango de líneas o ambas. Puedes seleccionar cualquier número de línea de una prueba. |
| 152 | + |
| 153 | +El formato es una lista separada por comas de "[X | Y-Z]" donde "X", "Y" y "Z" son números enteros entre "1" y el último número de línea del archivo. |
| 154 | + |
| 155 | +Esta función solo está disponible desde la línea de comandos. No funcionará si usa herramientas como `ts-node / register` o` @ babel / register`, y actualmente no funciona con `@ ava / babel` y` @ ava / typescript`. |
| 156 | + |
| 157 | +### Ejecutar una unica prueba |
| 158 | + |
| 159 | +Para ejecutar solo una prueba en particular en un archivo, agregue el número de línea de la prueba a la ruta o patrón pasado a AVA. |
| 160 | + |
| 161 | +Dado el siguiente archivo de prueba: |
| 162 | + |
| 163 | +`test.js` |
| 164 | + |
| 165 | +```js |
| 166 | +1: test('unicorn', t => { |
| 167 | +2: t.pass(); |
| 168 | +3: }); |
| 169 | +4: |
| 170 | +5: test('rainbow', t => { |
| 171 | +6: t.fail(); |
| 172 | +7: }); |
| 173 | +``` |
| 174 | + |
| 175 | +Ejecutar `npx ava test.js:2` ejecutaría la prueba `unicorn`. De hecho, podría utilizar cualquier número de línea entre "1" y "3". |
| 176 | + |
| 177 | +### Ejecutando múltiples pruebas |
| 178 | + |
| 179 | +Para ejecutar varias pruebas, debes especificarlas una por una o para que seleccione un rango de números de línea. Como los números de línea se dan por archivo, puedes ejecutar varios archivos con diferentes números de línea para cada archivo. Si se proporciona el mismo archivo varias veces, los números de línea se combinan y solo se ejecutan una vez. |
| 180 | + |
| 181 | +### Ejemplos |
| 182 | + |
| 183 | +Numeros de linea unicos |
| 184 | + |
| 185 | +```console |
| 186 | +npx ava test.js:2,9 |
| 187 | +``` |
| 188 | + |
| 189 | +Rangos: |
| 190 | + |
| 191 | +```console |
| 192 | +npx ava test.js:4-7 |
| 193 | +``` |
| 194 | + |
| 195 | +Mezcla de rangos y número de línea única: |
| 196 | + |
| 197 | +```console |
| 198 | +npx ava test.js:4,9-12 |
| 199 | +``` |
| 200 | + |
| 201 | +Diferentes archivos: |
| 202 | + |
| 203 | +```console |
| 204 | +npx ava test.js:3 test2.js:4,7-9 |
| 205 | +``` |
| 206 | + |
| 207 | +Cuando se ejecuta un archivo con y sin números de línea, los números de línea tienen prioridad. |
| 208 | + |
| 209 | +## Restableciendo la caché de AVA |
| 210 | + |
| 211 | +AVA suele almacenar en caché ciertos archivos, especialmente cuando usa [`@ava/babel`] (https://github.com/avajs/babel). |
| 212 | +Si parece que los últimos cambios no están siendo recogidos por AVA, puedes restablecer la caché ejecutando: |
| 213 | +```console |
| 214 | +npx ava reset-cache |
| 215 | +``` |
| 216 | + |
| 217 | +Esto borra todos los archivos del directorio `node_modules/.cache/ava`. |
| 218 | + |
| 219 | +## Reportes |
| 220 | + |
| 221 | +Por defecto, AVA usa un reporte mínimo: |
| 222 | + |
| 223 | +<img src="../media/mini-reporter.gif" width="460"> |
| 224 | + |
| 225 | +Utilice la bandera `--verbose` para habilitar el reporte detallado. |
| 226 | +Esto siempre se usa en entornos de CI a menos que el [TAP del reporte] (#tap-reporter) esté habilitado. |
| 227 | + |
| 228 | +<img src="../media/verbose-reporter.png" width="294"> |
| 229 | + |
| 230 | +### TAP reportes |
| 231 | + |
| 232 | +AVA soporta formato TAP, por lo cual es compatible con cualquier [TAP reporter](https://github.com/sindresorhus/awesome-tap#reporters). Usa el flag `--tap` para habilitar una salida en modo TAP. |
| 233 | + |
| 234 | +```console |
| 235 | +$ npx ava --tap | npx tap-nyan |
| 236 | +``` |
| 237 | + |
| 238 | +<img src="../media/tap-reporter.png" width="420"> |
| 239 | + |
| 240 | +Por favor, ten en cuenta que TAP reporter no esta disponible cuando usas el modo [watch](./recipes/watch-mode.md). |
| 241 | + |
| 242 | +## Node arguments |
| 243 | + |
| 244 | +El argumento `--node-arguments` puede usarse para especificar argumentos adicionales para iniciar procesos de trabajo. |
| 245 | +Estos se combinan con la configuración de `nodeArguments` y cualquier argumento pasado al binario de`node` al iniciar AVA. |
| 246 | + |
| 247 | +** Solo transfiera valores confiables. ** |
| 248 | + |
| 249 | +Especifique los argumentos como una sola cadena: |
| 250 | + |
| 251 | +```console |
| 252 | +npx ava --node-arguments="--throw-deprecation --zero-fill-buffers" |
| 253 | +``` |
| 254 | + |
| 255 | +** Solo transfiera valores confiables. ** |
0 commit comments