Unittesting dactilografiat

voturi
36

Știu, typescript este de o zi. Dar I`m curios dacă este aici somekind cadru unitate de testare sau de modul cum se scrie și teste unitare pentru a alerga masina de scris?

Typescript pot fi compilate JavaScript și pot să scrie test pentru că JavaScript, dar nu ceea ce It`s vreau.

Întrebat 02/10/2012 la 19:18
sursa de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
20

Typescript nu este o limbă de rulare. Pentru a executa codul typescript trebuie mai întâi să-l compilați JavaScript; Același lucru se aplică testarea acestuia. Testele efectuate pot fi dactilografiat, de asemenea, compila atât în ​​JavaScript și de a folosi cadru de test preferat pentru a executa testele.

Publicat 02/10/2012 la 19:32
sursa de către utilizator

voturi
16

Puteți scrie testele unitare dactilografiat sau JavaScript, folosind oricare dintre cadrele existente unitate de testare JavaScript.

Foarte curând, îmi imaginez cadrele existente vor primi fișiere de definiție typescript ambiantă (update - acestea au: http://definitelytyped.org/ ), care le va face în ceea ce tastat static ca masina de scris este în cauză. Între timp, este posibil să trebuiască să citiți pe Declarații Ambient și se adaugă câteva din propria la începutul testelor tale.

Alternativ, puteți utiliza tsUnit typescript cadru unitate de testare , care este un cadru de testare unitate de scris dactilografiat - așa că joacă frumos , cu mașina de scris (și pot fi utilizate în JavaScript prea).

Publicat 02/10/2012 la 22:31
sursa de către utilizator

voturi
0

Se pare că există un alt test de alergător / cadru numit Intern. https://theintern.github.io/

Aici este un articol care explică modul în care să - l folosească în combinație cu masina de scris: https://www.sitepen.com/blog/2015/03/24/testing-typescript-with-intern/

Se pare destul de promițătoare atunci când utilizați typescript și sunteți în căutarea pentru o configurare unitate de testare care acceptă hărți sursă.

Exemplu de test:

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.');
    }
});
Publicat 30/09/2015 la 16:50
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more