Я изучаю магистраль, поэтому я создаю простое приложение Магистрали.Я использую Jasmine Framework для тестирования своего базового приложения.
Как повезет, мой первый тест на жасмин был для Backbone View.Это очень простое представление, использующее шаблон haml-js.Пользователи приложения используют rails 3.1, поэтому все это упаковано через звездочки с помощью гема haml-sprockets, и оно работает.
Однако, когда я тестирую с жасмином, я получаю ошибку
TypeError: Невозможно вызвать метод 'backbone / templates / admin_personal_attribute_template' из неопределенного
Я понимаю, это потому, что шаблон haml-js отсутствует.
Обычно к этому шаблону обращаются так:
$(this.el).html(window.JST["backbone/templates/admin_personal_attribute_template"]({pars:this.model.attributes}));
(т.е. гем-компиляция haml-sprockets использует haml-js и добавляет к window.JST).
Я ищу «лучшее», то есть наименее разрушительное и, надеюсь,, простой, способ проверить мои представления + шаблоны в жасмине.
Я нашел несколько способов сделать это, но не уверен, что является лучшим:
- Используйте jasmine-headless-webkit.Это приведет к потере звездочек, но лишенная возможность доступа к серверу jasmine, такая простая, но с некоторой потерей гибкости
- Использование phantom.js, как описано в japhr (извините, stackoverflow не позволил мне опубликовать больше ссылок), будет работать вокруг сервера.боковые ограничения, но это, кажется, очень новый и непроверенный метод, настолько гибкий, но не простой
- Предварительно сгенерируйте ваши шаблоны как описано здесь .Это концептуально просто, но требует некоторого обслуживания - поэтому нужно немного поработать с кодом
Предполагая, что у меня есть проект с ~ 20 моделями и ~ 40 представлениями и шаблонами, каков наилучший путь?