diff --git a/README_es.md b/README_es.md index d2615ad..f57bca3 100644 --- a/README_es.md +++ b/README_es.md @@ -61,7 +61,7 @@ suite('una suite de tests aburrida', () => { }); ``` -Una suite representa un agrupamiento de tests, y se define llamando a la función `suite(name, body)`, que toma como parámetro el nombre de este agrupamiendo y una función sin argumentos, que representa el contenido de la suite. +Una suite representa un agrupamiento de tests, y se define llamando a la función `suite(name, body)`, que toma como parámetro el nombre de este agrupamiento y una función sin argumentos, que representa el contenido de la suite. Un test se escribe llamando a la función `test(name, body)`, que toma como parámetro el nombre del caso de test y una función sin parámetros que representa el cuerpo del test. @@ -110,14 +110,19 @@ Testy se puede configurar a través de un archivo llamado `.testyrc.json` que de "language": "en", // lenguaje que usara la consola. "es", "it" y "en" disponibles por el momento. } ``` -Puedes pasar parametros de configuracion a traves de la consola agregando estas opciones despues de las rutas de tests que quieras ejecutar: -- `-f` o `--fail-fast` para habiltiar el modo fail fast. + +Puedes pasar parámetros de configuración a través de la consola agregando estas opciones después de las rutas de tests +que quieras ejecutar: +- `-f` o `--fail-fast` para habilitar el modo _fail fast_. - `-r` o `--randomize` para habilitar la ejecución de tests en orden aleatorio. -- `-l xx` o `--language xx` done `xx` debe ser `es` para Español, `en` para Ingles o `it` para Italiano. -Estos parametros por consola pueden ser enviados en el orden que desees y puedes combinarlos como quieras +- `-l xx` o `--language xx` done `xx` debe ser `es` para español, `en` para inglés o `it` para italiano. + +Estos parámetros por consola pueden ser enviados en el orden que desees y puedes combinarlos como quieras. Toman +precedencia respecto a los que estén configurados en `.testyrc.json`. Estos son todos los parámetros de configuración que existen, ajústalos de acuerdo a tus necesidades. -Siguiendo este ejemplo de configuración, lo que se va a ejecutar es cada suite de test dentro del directorio `tests`, cuyos nombres de archivos finalicen con `*test.js`. +Siguiendo este ejemplo de configuración, lo que se va a ejecutar es cada suite de test dentro del directorio `tests`, +cuyos nombres de archivos finalicen con `*test.js`. ### Ejemplos y aserciones disponibles @@ -207,7 +212,7 @@ _suite_. `before()` y `after()` reciben una función como parámetro y pueden ut ``` * **Soporte para tests asíncronos**: si el código que estás testeando requiere de `async`, es posible hacer `await` -dentro de la definicion del test y luego escribir las aserciones. También es posible hacer llamados asincrónicos en +dentro de la definición del test y luego escribir las aserciones. También es posible hacer llamados asincrónicos en `before()` y `after()`. Ejemplo: ```javascript @@ -231,7 +236,7 @@ dentro de la definicion del test y luego escribir las aserciones. También es po }); ``` * **Modo "fail-fast"**: cuando está habilitado, se detiene apenas encuentra un test que falle o lance un error. Los tests restantes serán marcados como no ejecutados (_skipped_). -* **Ejecutar tests en orden aleatorio**: una buena suite de tests no depende de un orden particular de tests para ejecutarse correctamentee. Activando esta configuración es una buena forma de asegurar eso. +* **Ejecutar tests en orden aleatorio**: una buena suite de tests no depende de un orden particular de tests para ejecutarse correctamente. Activando esta configuración es una buena forma de asegurar eso. * **Chequeo estricto de presencia de aserciones**: si un test no evalúa ninguna aserción durante su ejecución, el resultado se considera un error. Básicamente, un test que no tiene aserciones es un "mal" test. * **Explícitamente, marcar un test como fallido o pendiente**: Ejemplos: diff --git a/doc/decisions/0002-place-utilities-in-utils-module.md b/doc/decisions/0002-place-utilities-in-utils-module.md index ddc7d10..71d215f 100644 --- a/doc/decisions/0002-place-utilities-in-utils-module.md +++ b/doc/decisions/0002-place-utilities-in-utils-module.md @@ -8,14 +8,18 @@ Accepted ## Context -Having control of all the utilitary functions the tool might need. +Having control of all the utility functions the tool might need. ## Decision -Use the `Utils` module for any responsibility whose domain does not seem to be part of other objects' essence. Every time you feel you need a "helper" function, it is a good candidate for `Utils`. If you need to rely on `typeof`, it is also a good sign for needing `Utils`. We want to maximize reuse of these functions by having in a single, "static" place. We understand this might be a temporary solution. +Use the `Utils` module for any responsibility whose domain does not seem to be part of other objects' essence. Every +time you feel you need a "helper" function, it is a good candidate for `Utils`. If you need to rely on `typeof`, it is +also a good sign for needing `Utils`. We want to maximize reuse of these functions by having in a single, "static" +place. We understand this might be a temporary solution. ## Consequences 1. We will have a centralized place of all the logic that needs to be placed somewhere. -2. `Utils` module can potentially become a hotspot in the code, or a file that grows at a high pace. A subfolder with particular Utils might be needed at some point in the future. +2. `Utils` module can potentially become a hotspot in the code, or a file that grows at a high pace. A subfolder with + particular utils might be needed at some point in the future. 3. `Utils` is also a good place for interaction with external dependencies, although we want to keep zero dependencies. diff --git a/doc/decisions/0013-support-for-es-modules-only.md b/doc/decisions/0013-support-for-es-modules-only.md index d9bce6c..85ab452 100644 --- a/doc/decisions/0013-support-for-es-modules-only.md +++ b/doc/decisions/0013-support-for-es-modules-only.md @@ -13,8 +13,8 @@ that is only supported in Node, and not in other environments like Deno or the b This article contains a detailed comparison of CommonJS and ES Modules: https://www.knowledgehut.com/blog/web-development/commonjs-vs-es-modules -This tool uses modules a lot, as it dynamically requires files written by the users of Testy, and the asyncronous -features of ES makes things easier and brings more reliability than synchronous CommonJS modules. +This tool uses modules a lot, as it dynamically requires files written by the users of Testy, and the asynchronous +features of ES makes things easier and brings more reliability than synchronous CommonJS modules. ## Decision @@ -25,5 +25,5 @@ which is against the spirit of this project. ## Consequences * This is a disruptive change for users. Projects that uses CommonJS will need to migrate to ES, at least to load the -tests. + tests. * This will represent a breaking change, to be released in a new major version. diff --git a/lib/core/equality_assertion_strategy.js b/lib/core/equality_assertion_strategy.js index 62ae7d4..03a8873 100644 --- a/lib/core/equality_assertion_strategy.js +++ b/lib/core/equality_assertion_strategy.js @@ -31,7 +31,7 @@ export class EqualityAssertionStrategy { return false; } - evaluate(_actual, _expected, _criterie) { + evaluate(_actual, _expected, _criteria) { return subclassResponsibility(); } } @@ -41,7 +41,7 @@ class BothPartsUndefined extends EqualityAssertionStrategy { return isUndefined(actual) && isUndefined(expected); } - evaluate(_actual, _expected, _criterie) { + evaluate(_actual, _expected, _criteria) { return { comparisonResult: undefined, overrideFailureMessage: () => I18nMessage.of('equality_assertion_failed_due_to_undetermination'), diff --git a/lib/i18n/i18n_messages.js b/lib/i18n/i18n_messages.js index 4128718..0ad7604 100644 --- a/lib/i18n/i18n_messages.js +++ b/lib/i18n/i18n_messages.js @@ -118,7 +118,7 @@ class SingleI18nMessage extends I18nMessage { } toJson() { - return { key: this.#key, oarams: this.#params }; + return { key: this.#key, params: this.#params }; } } diff --git a/lib/script_action.js b/lib/script_action.js index 991488a..bffe3ef 100644 --- a/lib/script_action.js +++ b/lib/script_action.js @@ -59,15 +59,20 @@ const ShowHelp = { async execute(_params) { const { description } = this._packageData(); - console.log(`Testy: ${description}\n`); - console.log('Usage: \n'); - console.log(' testy [-h --help] [-v --version] ...test files or folders...\n'); - console.log('Options: \n'); - console.log(' -h, --help Displays this text'); - console.log(' -v, --version Displays the current version'); - console.log(' -f, --fail-fast Enables fail fast option for running tests'); - console.log(' -r, --randomize Enables random order option for running tests'); - console.log(' -l, --language xx Sets a language for running tests. Available options are \'es\' for Spanish, \'en\' for English and \'it\' for Italian'); + console.log(` +Testy: ${description} + +Usage: + + testy [-h --help] [-v --version] ...test files or folders... + +Options: + -h, --help Displays this text + -v, --version Displays the current version + -f, --fail-fast Enables fail fast option for running tests + -r, --randomize Enables random order option for running tests + -l, --language xx Sets a language for running tests. Available options are 'es' for Spanish, 'en' for English and 'it' for Italian + `); this._exitSuccessfully(); }, };