Unit Testing na psacím stroji

hlasů
36

Já vím, strojopis je jeden den staré. Ale I`m zvědavý, jestli je zde somekind rámec testování jednotky nebo způsob, jak psát a spustit testy jednotky na psacím stroji?

Strojopisem mohou být sestaveny tak, aby JavaScriptu a můžu psát testy pro tento JavaScriptu, ale je to jen to, co chci.

Položena 02/10/2012 v 19:18
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
20

Strojopisem není runtime jazyka. Vykonat svůj strojopis kód nejprve nutné jej sestavit do JavaScriptu; Totéž platí i pro jeho testování. Vaše testy mohou být na stroji stejně, kompilovat jak do JavaScriptu a používat svůj oblíbený testovací rámec, který provádí zkoušky.

Odpovězeno 02/10/2012 v 19:32
zdroj uživatelem

hlasů
16

Můžete psát unit testy na stroji nebo JavaScriptu pomocí některého ze stávajících rámců testovacích jednotek JavaScript.

Velmi brzy, jsem si představit, že stávající rámec dostane definiční soubory strojopisem ambient (aktualizace - mají: http://definitelytyped.org/ ), který na ně bude staticky napsaný, pokud jde o stroji. Do té doby, budete muset přečíst na okolních prohlášení a přidat některé z vašich vlastních na začátku svých testů.

Případně můžete použít tsUnit strojopisem Unit testování rámec , což je testovací zařízení framework napsaný na psacím stroji - tak to hraje hezky s strojopisu (a může být použit v JavaScriptu příliš).

Odpovězeno 02/10/2012 v 22:31
zdroj uživatelem

hlasů
0

Zdá se, že je zde další test běžec / rámec nazývá Intern. https://theintern.github.io/

Zde je článek vysvětluje, jak jej používat v kombinaci s strojopisem: https://www.sitepen.com/blog/2015/03/24/testing-typescript-with-intern/

Vypadá to docela slibně, když používáte strojopisu a hledáte sestavu do jednotkové testování, který podporuje zdrojové mapy.

Příklad testu:

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.');
    }
});
Odpovězeno 30/09/2015 v 16:50
zdroj uživatelem

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