Отложенная загрузка данных Ember

Я пишу тесты qunit для контроллера Ember. В моем реальном приложении меня перенаправляют с другой страницы и я получаю данные. Но при написании тестов у меня возникли проблемы с получением данных из хранилища данных Ember, поскольку оно отправляет асинхронный вызов, а тесты запускаются и терпят неудачу, пока не получат данные. Есть ли способ заставить ember store возвращать данные в том же цикле выполнения? Или есть другой способ сделать это?


person inertia    schedule 27.08.2012    source источник


Ответы (1)


Используете ли вы FixtureAdapter? ? Если нет, вы можете попробовать и установить для свойства simulateRemoteResponse значение false. Ваш магазин в тестах может выглядеть как

var store = DS.Store.create({
               revision: 4,
               adapter: DS.FixtureAdapter.create({simulateRemoteResponse: false}),
               // perhaps other custom properties
            });
person sly7_7    schedule 27.08.2012
comment
В этом случае мне придется создавать приспособления для моделей Ember. Что, если я хочу связаться с серверной частью (фактической базой данных) для получения записей? - person inertia; 28.08.2012
comment
В таком случае я думаю, что это не qunit-тест для контроллера Ember, а скорее интеграционный тест с полным стеком. Я имею в виду тест очень высокого уровня. Возможно я ошибаюсь, было бы здорово получить другие советы - person sly7_7; 28.08.2012
comment
Ну, я думаю, что ваше предложение иметь приспособлениеAdapter было правильным. Я использую это сейчас. У меня есть другая проблема. Я не могу получить данные связанных моделей. У меня есть 2 модели A и B. A имеет много (B) и B принадлежит (A). Я могу получить доступ к B из A, но не наоборот. Модели определены правильно. Что может происходить? - person inertia; 29.08.2012
comment
Мне нужен код здесь ;), в частности, как вы заполняете свои FIXTURES. Не могли бы вы обновить свой вопрос с помощью этого кода? - person sly7_7; 29.08.2012