Skip to content

Primeros pasos ​

aaa-lint es una familia de plugins de lint que imponen el patrón Arrange-Act-Assert en tu código de tests. Cada bloque de test debe contener tres comentarios marcadores — arrange, act, assert — en ese orden exacto.

js
it('adds two numbers', () => {
  // arrange
  const a = 1
  const b = 2

  // act
  const sum = a + b

  // assert
  expect(sum).toBe(3)
})

¿Por qué AAA? ​

Los tests que siguen el patrón AAA son más fáciles de leer y de modificar. Los revisores pueden localizar la preparación, la acción bajo prueba y las expectativas de un vistazo. El patrón también incentiva a los autores a mantener los tests pequeños y enfocados.

aaa-lint convierte esta convención en una verificación mecánica, de modo que sobreviva al cansancio de las revisiones y al reemplazo de miembros del equipo.

Lenguajes soportados ​

LenguajeLinterPaquete
JavaScript / TypeScriptESLinteslint-plugin-aaa-pattern
RubyRuboCoprubocop-aaa
PHPPHP_CodeSnifferphpcs-aaa

Las tres implementaciones comparten el mismo conjunto de opciones (labels, testFunctions, caseSensitive, allowEmptySection), así que los proyectos multilenguaje pueden mantener una configuración consistente.

Personalizar las etiquetas ​

Las etiquetas por defecto están en inglés: arrange, act, assert. Puedes sobreescribirlas para cualquier idioma o estilo:

jsonc
{
  "labels": {
    "arrange": ["given"],
    "act":     ["when"],
    "assert":  ["then"]
  }
}

Se aceptan varias ortografías por sección, útil cuando los miembros del equipo escriben un poco distinto:

jsonc
{
  "labels": {
    "arrange": ["preparar", "preparación"],
    "act":     ["ejecutar"],
    "assert":  ["verificar", "comprobar"]
  }
}

Siguientes pasos ​

Elige el plugin para tu stack y sigue su guía de configuración: