this в unit тестах jasmine

209
07 июля 2017, 08:03

Как в тестах Jasmine подменить созданному объекту другой this?

const PageFactory = SuperClass => class extends SuperClass {
  getNumber(n) {
    this.number.curs(n);
  }
}

так как pageFactory передают superclass То там есть переменная number и внутри него фукнция curs, но при вызове из теста нет возможности подставить number c функцией curs, пытался так

it('test', () => {
  let pageFactory = new (PageFactory(Object));
  pageFactory.number = jasmine.createSpy('curs');
  pageFactory.pageNumber(4);
});

и вот здесь выдает ошибку что number is undefined или если со spy то curs is undefined;

Answer 1

pageFactory.number = jasmine.createSpy('curs');

В зависимости от версии:

jasmine.createSpy('status').andReturn(n => n);
jasmine.createSpy('status').and.return(n => n);
READ ALSO
jQuery AJAX запись в константу [требует правки]

jQuery AJAX запись в константу [требует правки]

Как после выполнения ajax, записать данные в константу и все это выполнить до функции ajaxStop?

259
Работа с датой и временем

Работа с датой и временем

По окончанию регистрации пользователю даётся 24 часа, чтобы активировать аккаунт, в противном случае он удаляется

257
заполнить pdf при помощи формы на сайте?

заполнить pdf при помощи формы на сайте?

Реализовывал ли кто-то создание PDF файлов с данными пользователя, которые тот указал в форме на сайте? Те Пользователь оставил данные - под...

280
Uncaught ReferenceError: messageChecking is not defined

Uncaught ReferenceError: messageChecking is not defined

Добрый день и сразу извинюсь, если вдруг продублировал вопрос, однако ответа совсем не нашелСразу суть проблемы:

328