Unit testing in dattiloscritto

voti
36

Lo so, dattiloscritto è un giorno di vita. Ma `m curioso di sapere se è qui somekind framework unità di prova o un modo come scrivere e unit test corsa per tipografico?

Dattiloscritto può essere compilato a JavaScript e posso scrivere di prova per quella JavaScript, ma esso `s non quello che voglio.

È pubblicato 02/10/2012 alle 19:18
fonte dall'utente
In altre lingue...                            


3 risposte

voti
20

Dattiloscritto non è una lingua di runtime. Per eseguire il codice tipografico è necessario prima di compilarlo a JavaScript; stesso vale per testarlo. I test possono essere a macchina così, compilare sia in Javascript e utilizzare il framework di test preferito per eseguire i test.

Risposto il 02/10/2012 a 19:32
fonte dall'utente

voti
16

È possibile scrivere i test di unità a macchina o JavaScript, utilizzando uno dei framework di test di unità JavaScript esistenti.

Molto presto, immagino le strutture esistenti avranno file di definizione dattiloscritto ambiente (aggiornamento - hanno: http://definitelytyped.org/ ), che li renderà staticamente tipizzati per quanto dattiloscritto è interessato. Nel frattempo, potrebbe essere necessario leggere su dichiarazioni ambientali e aggiungere alcuni dei vostri propri all'inizio del test.

In alternativa, è possibile utilizzare tsUnit dattiloscritto Unit Testing Framework , che è un framework di unit testing scritto a macchina - in modo che gioca bello con dattiloscritto (e può essere utilizzato in JavaScript troppo).

Risposto il 02/10/2012 a 22:31
fonte dall'utente

voti
0

Sembra che ci sia un altro test corridore / framework chiamato Intern. https://theintern.github.io/

Ecco un articolo che spiega come usarlo in combinazione con dattiloscritto: https://www.sitepen.com/blog/2015/03/24/testing-typescript-with-intern/

Sembra piuttosto promettente quando si utilizza dattiloscritto e siete alla ricerca di una messa a punto di unit test che supporta le mappe di origine.

Esempio di prova:

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.');
    }
});
Risposto il 30/09/2015 a 16:50
fonte dall'utente

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