Cheatsheet JavaScript
Códigos de Teclas para Eventos
Programacion asincrona con JavaScript. Introduccion a AJAX y testing asincrono, Carlos Blé
Asignación por destructuring en Javascript
let [var1,var2] = [44,42]; console.log("var1-->",var1); console.log("var2-->",var2);
https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Operadores/Destructuring_assignment
Problema Resuelto con Jest: No encuentra el token Import en test con Jest
1.- Instalar el plumbagina en el proyecto:
npm install --save-dev babel-plugin-transform-es2015-modules-commonjs
2.- Crear en la carpeta del proyecto el fichero .babelrc con el contenido:
{ "plugins": ["transform-es2015-modules-commonjs"] }
Exportar e Importar Funciones entre documentos en Javascript
Exportar:
romanNumerals.js
export function romanNumerals(){ var numerals = [ {value: 4, numeral: "IV"}, {value: 1, numeral: "I"}, ]; function fromNumber(number) { var result = ""; numerals.forEach(function (item) { for (; number >= item.value; number -= item.value) { result += item.numeral; } }); return result; }; return { fromNumber, } } module.exports = romanNumerals;
export default function romanNumerals(){ var numerals = [ {value: 4, numeral: "IV"}, {value: 1, numeral: "I"}, ]; function fromNumber(number) { var result = ""; numerals.forEach(function (item) { for (; number >= item.value; number -= item.value) { result += item.numeral; } }); return result; }; return { fromNumber, } }
Importar:
spec.js
import romanNumerals from "../src/romanNumerals"; describe("test de prueba", function () { it("verdadero es verdadero", function () { expect(true).toBeTruthy(); }); it("converts numbers to Roman numerals", function () { expect(romanNumerals().fromNumber(1)).toBe("I"); expect(romanNumerals().fromNumber(2)).toBe("II"); expect(romanNumerals().fromNumber(3)).toBe("III"); expect(romanNumerals().fromNumber(4)).toBe("IV"); // expect(romanNumerals().fromNumber(2648)).toBe("MMDCXLVIII"); }); });
Los 10 mayores errores en proyectos de Javascript
Koans de ES6
Instalar JEST en un proyecto de Javascript
Crear fichero package.json:
npm init // tipo cuestionario npm init --yes //crea todo por defecto
Instalar jest vía npm:
npm install --save-dev jest
Añadir a package.json:
{ "scripts": { "test": "jest" } }
**Si queremos que este fijo abierto el servicio, lo añadimos de la siguiente manera:
{ "scripts": { "test": "jest --watch" } }
**»test»: «jest –watchAll» –>sin git
Con esta mejora, ya no tenemos que estar lanzando el test cada vez, si no cada vez que guardemos, nos lo lanzará.
Añadir también esto al package.json si vamos a usar jsdom,
"jest": { "verbose": true, "testURL": "http://localhost/" },
https://github.com/jsdom/jsdom/issues/2304
si no dará el siguiente error:
SecurityError: localStorage is not available for opaque origins at Window.get localStorage [as localStorage] (node_modules/jsdom/lib/jsdom/browser/Window.js:257:15) at Array.forEach (<anonymous>)
Vista final del package.json:
Crear carpeta test y dentro el archivo spec.js con el siguiente código de ejemplo:
describe("test de prueba", function () { it("verdadero es verdadero", function () { expect(true).toBeTruthy(); }); });
**Matchers de Jest para realizar los test
Iniciar el test:
npm test
Debería salir una respuesta así, que nos confirma que esta pasando el test:
Links: Documentación Oficial Jest