Apprenticeship Day 10
Cómo hacer export y require de varias functions en JavaScript
module.exports = { expect, it }
const {expect, it} = require('./fakest);
Cómo listar los archivos de un directorio con Node.js
const fs = require('fs');
fs.readdir('src/test', (err, files) => {
files.forEach(file => {
console.log(file);
});
});
Testing Framework à la Jest: Fakest
Hemos completado nuestro pequeño framework básico para sustituir a Jest, ¡y funciona! Obviamente Jest tiene mucha mayor funcionalidad, pero esto me ha servido para entender con claridad la magia que hay detrás del framework.
function expect(actual) {
return {
toBe(expected) {
if (actual !== expected) {
throw new Error(`${actual} is different from ${expected}`);
}
},
};
}
function it(_description, callback) {
return callback();
}
const describe = it;
const test = it;
Jest Mocks
Durante la implementación de Fakest, ha surgido una oportunidad para utilizar un mock y verificar que estamos llamando a la callback.
function fakestIt(_description, callback) {
return callback();
}
test('the callback is invoked', () => {
const callback = jest.fn();
fakestIt('description', callback);
expect(callback.mock.calls.length).toBe(1);
});