Юнит-тестирование Jasmine на модуле Titanium

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

Моя установка jasmine-node работает, я могу выполнять очень простые тесты, подобные этому:

var util = require('../app/controllers/utils.js');
describe("util test", function(){
  it('should compute the sum between 1 & 2', function(){
      var sum = util.computeSum(1, 2);
      expect(sum).toEqual(3);
  });
});

Приведенный выше код проверяет следующую функцию и работает должным образом.

exports.computeSum = function(a,b) {
    return a+b;
};

Когда я пытаюсь протестировать некоторый код, который вызывает модуль Ti, он терпит неудачу, говоря: «Ti не определен».

describe("Ti.UI",function(){
    it("create custom alert", function(){
        var view = util.displayCustomAlert("title", "message");
        should(view).not.be.null;
    });
});

Вышеуказанная функция проверяется следующим тестом:

exports.displayCustomAlert = function(customTitle, customMessage){
    return Ti.UI.createAlertDialog({
        title:customTitle,
        message:customMessage
    });
};

Как заставить jasmine-node работать с Titanium?


person midemarc    schedule 02.11.2015    source источник
comment
Эй, ты когда-нибудь понял это?   -  person user1554966    schedule 02.11.2017
comment
@user1554966 user1554966 Не помню, чтобы у меня было. В то время я был стажером, у меня не было много времени; Я думаю, что я просто не тестировал компоненты Titanium. Это, вероятно, было к лучшему, вы должны действительно верить, что фреймворк выполняет свою работу и тестирует только ваш собственный код.   -  person midemarc    schedule 03.11.2017


Ответы (1)


Я рекомендую использовать TiShadow для запуска тестов Jasmine или TiO2 для запуска тестов Mocha для приложений Titanium.

person Fokke Zandbergen    schedule 03.11.2015
comment
Я пробовал tio2 до jasmine, но не смог заставить его работать. Простой пример example завершается ошибкой без указания на них, и я столкнулся с этой проблемой, работает над моим проектом. Я считаю, что read me не предоставляет достаточно информации для работы. Я попробую TiShadow, спасибо. - person midemarc; 03.11.2015