Модульное тестирование в машинописном

голоса
36

Я знаю, машинопись это один день старая. Но I`m интересно, если здесь somekind рамки модульного тестирования или способ, как писать и блок запуска тестов на машинопись?

Машинопись может быть скомпилирован в JavaScript, и я могу написать тест для этого JavaScript, но это `ы не то, что я хочу.

Задан 02/10/2012 в 19:18
источник пользователем
На других языках...                            


3 ответов

голоса
20

Машинопись не язык выполнения. Для того, чтобы выполнить свой код машинопись сначала нужно скомпилировать его в JavaScript; То же самое относится к его тестированию. Ваши тесты могут быть в машинописном, а также, как компилировать в JavaScript и использовать ваши любимые рамки тестирования для выполнения тестов.

Ответил 02/10/2012 в 19:32
источник пользователем

голоса
16

Вы можете написать модульные тесты в машинописном или JavaScript, используя любой из существующих рамок тестирования модулей JavaScript.

Очень скоро, я думаю , что существующие системы будут получать файлы определение машинописи окружающей среды (обновление - у них есть: http://definitelytyped.org/ ), что сделает их статический типизированными, насколько машинопись обеспокоена. В то же время, возможно , потребуется прочитать на Ambient декларациях и добавить несколько собственных в начале тестов.

Кроме того , вы можете использовать tsUnit машинопись Unit Testing Framework , которая является основой модульного тестирования написано в машинописном - так он играет хорошо с машинописью (и может быть использован в JavaScript тоже).

Ответил 02/10/2012 в 22:31
источник пользователем

голоса
0

Кажется , есть еще один тест бегун / рамка называется Intern. https://theintern.github.io/

Вот статья объясняет , как использовать его в сочетании с Машинописью: https://www.sitepen.com/blog/2015/03/24/testing-typescript-with-intern/

Выглядит многообещающе, когда вы используете машинопись и вы ищете установки модульного тестирования, который поддерживает карты источника.

Пример теста:

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.');
    }
});
Ответил 30/09/2015 в 16:50
источник пользователем

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