node unit-testing typescript

unit-testing - node - typescript jest



Prueba unitaria en TypeScript (3)

Lo sé, TypeScript tiene un día de antigüedad. Pero tengo curiosidad si aquí hay algún marco de pruebas de unidades o cómo escribir y ejecutar pruebas unitarias para TypeScript.

TypeScript se puede compilar en JavaScript y puedo escribir pruebas para ese JavaScript, pero no es lo que quiero.


Parece que hay otro corredor / marco de prueba llamado Intern. https://theintern.github.io/

Aquí hay un artículo que explica cómo usarlo combinado con TypeScript: https://www.sitepen.com/blog/2015/03/24/testing-typescript-with-intern/

Parece bastante prometedor cuando está usando TypeScript y está buscando una configuración de prueba de unidad que admita mapas de origen.

Prueba de ejemplo:

import registerSuite = require(''intern!object''); import assert = require(''intern/chai!assert''); // Assume that we now have a version of our model in TypeScript: import SimpleTodoModel = require(''todo/model/SimpleTodoModel''); registerSuite({ name: ''SimpleTodoModel'', // Assume we have a promises interface defined ''default data''() { var emptyModel = new SimpleTodoModel(), id:string = emptyModel.get(''id''), length:number = emptyModel.get(''todos'').length, incomplete:number = emptyModel.get(''incomplete''), complete:number = emptyModel.get(''complete''); assert.strictEqual(id, ''todos-dojo'', ''Id should default to "todos-dojo"''); assert.strictEqual(length, 0, ''Todos array should default to an empty array.''); assert.strictEqual(incomplete, 0, ''Incomplete count should default to 0.''); assert.strictEqual(complete, 0, ''Incomplete count should default to 0.''); } });


Puede escribir sus pruebas unitarias en TypeScript o JavaScript, utilizando cualquiera de los marcos de prueba de unidades de JavaScript existentes.

Muy pronto, me imagino que los marcos existentes obtendrán archivos de definición de ambientes de TypeScript (actualización: tienen: http://definitelytyped.org/ ), lo que los convertirá estáticos en cuanto a TypeScript. Mientras tanto, es posible que deba leer Declaraciones ambientales y agregar algunas propias al comienzo de las pruebas.

Alternativamente, puede usar tsunit.codeplex.com , que es un marco de pruebas unitarias escrito en TypeScript, por lo que funciona bien con TypeScript (y también se puede usar en JavaScript).


TypeScript no es un lenguaje de ejecución. Para ejecutar su código TypeScript, primero debe compilarlo en JavaScript; lo mismo aplica para probarlo. Sus pruebas también pueden estar en TypeScript, compilar ambos en JavaScript y usar su marco de prueba favorito para ejecutar las pruebas.