Я создаю тесты для своего приложения Ember 2.16 и сталкиваюсь с проблемой, когда код зависит от обещания, возвращаемого из внешнего действия.
const promise = this.sendAction('action')
promise.then(() => {
//do stuff
});
Большая часть моего кода основана наэти .then и .catch обусловливают обещание, поэтому я хочу иметь возможность вернуть обещание, которое было успешным, но не получилось. Я слышал о Sinon, но, к сожалению, это только для Ember 3.4 и выше.
test('', function(assert){
this.set('action', () => {
// do assertions
return new Promise(() => {return true} );
});
});
В моем интеграционном тесте я могу смоделировать действие, но я сталкиваюсь с неопределенностью "обещания". Я пытался вернуть Text или другие значения, но при помещении отладчика в компонент обещание всегда не определено.
Я могу обойти это, добавив условие, которое проверяет, есть ли обещание,но поскольку большая часть моего кода находится внутри этих .then
и .catch
условных выражений, я хочу, чтобы мои тесты проходили через них, чтобы увеличить охват кода.
Как бы я возвратил обещание из макетированного действия втест на интеграцию?