Приемочный тест Ember завершается с ошибкой. Вы включили режим тестирования, который отключил автозапуск цикла выполнения.

Я пишу приемочный тест, для которого я получаю следующую ошибку Uncaught Error: Assertion Failed: вы включили режим тестирования, который отключил автозапуск цикла выполнения. Вам нужно будет обернуть любой код с асинхронными побочными эффектами в прогоне.

Эта ошибка возникает, когда я использую дополнительный компонент Ember (поддерживаемый другими командами). Насколько я понимаю, эта ошибка возникает из-за того, что асинхронный код не заключен в циклы выполнения, я пытался обернуть весь свой код в циклы выполнения, но ничего не работает.

Поскольку у меня нет контроля над внешним дополнением, есть ли способ преодолеть это, изменив что-то в моем коде или тестовой настройке?

Я не могу опубликовать код здесь, но мой тест так же прост, как

    visit('/someurl')
        andthen(()=>{
        //assert something
        })

person Veda    schedule 28.05.2018    source источник


Ответы (1)


Вы должны использовать run здесь:

import { run } from '@ember/runloop';

test('my test', async function(assert) {
  await visit('/someurl');
  run(()=>{
    //assert something
  });
});

Вот хорошая статья о Ember- запустить цикл

person esbanarango    schedule 28.05.2018
comment
Я попытался переместить утверждения утверждений в цикле выполнения, но столкнулся с той же ошибкой. Когда я ставлю точку останова, ошибка появляется еще до перехода к утверждению - person Veda; 30.05.2018