Skip to content

Commit

Permalink
docs: correct minor formatting/markdown issues
Browse files Browse the repository at this point in the history
  • Loading branch information
ngarbezza committed Dec 30, 2024
1 parent 991fce9 commit 9d2f56d
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 26 deletions.
21 changes: 13 additions & 8 deletions README_es.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand All @@ -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:

Expand Down
10 changes: 7 additions & 3 deletions doc/decisions/0002-place-utilities-in-utils-module.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
6 changes: 3 additions & 3 deletions doc/decisions/0013-support-for-es-modules-only.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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.
4 changes: 2 additions & 2 deletions lib/core/equality_assertion_strategy.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export class EqualityAssertionStrategy {
return false;
}

evaluate(_actual, _expected, _criterie) {
evaluate(_actual, _expected, _criteria) {
return subclassResponsibility();
}
}
Expand All @@ -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'),
Expand Down
2 changes: 1 addition & 1 deletion lib/i18n/i18n_messages.js
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ class SingleI18nMessage extends I18nMessage {
}

toJson() {
return { key: this.#key, oarams: this.#params };
return { key: this.#key, params: this.#params };
}
}

Expand Down
23 changes: 14 additions & 9 deletions lib/script_action.js
Original file line number Diff line number Diff line change
Expand Up @@ -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();
},
};
Expand Down

0 comments on commit 9d2f56d

Please sign in to comment.