Javascript Quality Control with Jest and ESLint

De wikijoan
Salta a la navegació Salta a la cerca

Introducció

Referència que seguim, article: Javascript Quality Control with Jest and ESLint

Getting Started

Instal·lem jest:

$ npm install --save-dev jest

El primer de tot és crear el projecte:

$ mkdir prova_test
$ cd prova_test
$ npm init

script sum.js:

function sum(a, b) {
  return a + b;
}
module.exports = sum;

script sum.test.js: (només pel fet de tenir extensió test.js, o bé estar dins de la carpeta __test__, ja participarà en el test):

const sum = require('./sum');

test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});

El fitxer package.json s'ha creat en el npm init. La part de test posarem:

  "scripts": {
    "test": "jest"
  }

i ara ja podem provar el test:

$ npm run test

> prova_test@1.0.0 test
> jest

 PASS  ./sum.test.js
  ✓ adds 1 + 2 to equal 3 (4 ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        1.485 s
Ran all test suites.

També podem crear la carpeta __tests__, i allà ficar els scripts .js que volem avaluar. Per exemple, __tests__/suma.js:

const sum = require('../sum');

test('adds 5 + 7 to equal 12', () => {
  expect(sum(5, 7)).toBe(12);
});

i ara s'executen els dos tests.

Cas d'us: https://github.com/trekhleb/javascript-algorithms/

Aquest repositori conté una col·lecció gran d'estructures de dades i algorismes per a Javascript. Cada algorisme conté la seva implementació, documentació i un test per comprovar que el codi és vàlid.

Clonem el repositori
$ git clone https://github.com/trekhleb/javascript-algorithms.git

How to use this repository
Install all dependencies

$ npm install

Run ESLint: You may want to run it to check code quality.

$ npm run lint

Run all tests

$ npm test

Run tests by name

$ npm test -- 'LinkedList'

Troubleshooting: In case if linting or testing is failing try to delete the node_modules folder and re-install npm packages:

$ rm -rf ./node_modules
$ npm i

Playground

You may play with data-structures and algorithms in ./src/playground/playground.js file and write tests for it in ./src/playground/__test__/playground.test.js.

Then just simply run the following command to test if your playground code works as expected:

$ npm test -- 'playground'

creat per Joan Quintana Compte, maig 2021