Я устанавливаю ENV.HELPER_PARAM_LOOKUPS = true
для Ember.js, чтобы хелпер linkTo выполнил поиск свойств вместо жестко запрограммированного маршрута. Например, я мог бы сделать {{linkTo view.path}}
Как установить переменную окружения Ember в qunit
так, как я установить переменную окружения находится внутри тега моего макета application.html.erb (я использую рельсы 4.0 кстати), следующим образом:
<script type="text/javascript" >
// Ember environment variable
ENV = {
HELPER_PARAM_LOOKUPS: true
};
</script>
Однако, когда я запускаю тест QUnit, он дает ошибку, как:
попытка linkTo маршрут «view.path.index» не удалось. Маршрутизатор не нашел «» view.path.index в своих возможных маршрутах:
Это также дает предупреждение устаревания:
устаревания: Вы ввели параметр маршрута quoteless назначените view.path в linkTo helper. Вскоре это будет выполнять поиск свойств, а не обрабатываться как строка. Чтобы избавиться от этого предупреждения, обведите view.path в кавычки. Для того, чтобы выбрать это новое поведение, установить ENV.HELPER_PARAM_LOOKUPS = истинный
Видимо, QUnit не конфигурированию ember.js, как я предполагал. Как заставить qunit читать настройки моей среды для ember при загрузке теста.
Вот код в моем QUnit теста:
module("Frontend Test", {
setup: function() {
Ember.run(App, App.advanceReadiness);
},
teardown: function() {
App.reset();
}
});
test("Check HTML is returned", function() {
visit("/").then(function() {
ok(exists("*"), "Found HTML!");
});
});
Это не только правильный ответ, но и очень быстрый ответ! Благодаря! Я читал еще несколько сообщений, которые заставляют меня создавать впечатление, что ENV нужно установить перед загрузкой ember, поэтому я поместил их в тег
. Но, по-видимому, это может быть установлено после декларации Эмбера, что имеет смысл в любом случае. – lionelДобро пожаловать. Я обнаружил это, когда сталкивался с некоторыми проблемами в jsfiddle, потому что код загружается после импорта emberjs. Так что только ENV никогда не работал для меня, в этом случае. –