Запуск тестов Jasmine в Typescript с наглостью

Я пытаюсь понять, как комбинация машинописного текста, жасмина и наглости, наконец, проверит мой машинописный код. Итак, у меня есть пример проекта (показан на картинке).

введите здесь описание изображения

У меня есть файл app.ts со следующим содержимым

class Calculator {
    add = function(x:number, y:number) {
        return x + y;
    }
}

и тестовый файл appTest.ts

/// <reference path="../typings/jasmine/jasmine.d.ts" />
/// <reference path="../../app.ts" />

/// <chutzpah_reference path="../jasmine/jasmine.js" />
/// <chutzpah_reference path="../../app.js" />

describe("Test Calc", function () {

    it("add function", function () {
        var calc = new Calculator(),
            res = calc.add(4, 7);
        expect(res).toBe(11);
    });
});

Если я запускаю тесты на testApp.ts, вывод будет «0 пройден, 0 не пройден, 0 всего (наглость)». но если я запускаю скомпилированный testApp.js, он работает нормально: «1 пройдено, 0 не удалось, 1 всего (наглость)».

1) Почему тесты в .ts файле не найдены? 2) Должен ли я тестировать свой машинописный код, записывая код в Typescript или напрямую с помощью JavaScript?

Может ли кто-нибудь помочь мне разобраться с этой простой тестовой настройкой и заставить ее работать? Обратите внимание, что сейчас я не использую chutzpah.json.


person koninos    schedule 14.04.2016    source источник


Ответы (2)


Если вы не используете файл chutzpah.json, он не будет работать. Пожалуйста, следуйте этому примеру, чтобы увидеть, как заставить его работать правильно.

person Matthew Manela    schedule 15.04.2016
comment
Я узнал это трудным путем. Пожалуйста, проясните это в документах. Большое спасибо за беспокойство :) - person koninos; 15.04.2016

Когда я читал документы (или некоторые другие статьи), стало ясно, что chutzpah.json не является обязательным для запуска простого теста, но единственный способ заставить его работать — это добавить chutzpah.json в корень проекта с помощью следующее содержание:

{
  "Framework": "jasmine",

  "References": [
    { "Path": "app.js" },
    { "Path": "scripts/jasmine/jasmine.js" }
  ],

  "Tests": [
    { "Path": "scripts/tests/apptest.js" }
  ]
}

Итак, для любых будущих ссылок, chutzpah.json требуется, чтобы chutzpah запускал тесты. Также обратите внимание, что «chutzpah_reference» больше не нужны в тестовом файле.

person koninos    schedule 15.04.2016
comment
Раньше это было необязательным, но в версии 3 это стало обязательным. - person Matthew Manela; 17.04.2016