JEST: как заглушить метод, который вызывается в конструкторе класса

Я попробовал это:

android:backgroundTint:"@color/mycolor"

вместо изменения свойства фона. Это не устраняет материальный эффект.

0
задан skyboyer 16 January 2019 в 17:22
поделиться

1 ответ

method1 существует в ABC.prototype, и вы можете шпионить за ним и заменить реализацию до создания нового экземпляра ABC:

class ABC {
  constructor() {
    this.method1();
  }
  method1() {
    throw new Error('should not get here');
  }
}

test('ABC', () => {
  const spy = jest.spyOn(ABC.prototype, 'method1');  // spy on the method of the prototype
  spy.mockImplementation(() => {});  // replace the implementation
  const abc = new ABC();  // no error
  expect(spy).toHaveBeenCalled();  // SUCCESS
})
0
ответ дан brian-lives-outdoors 16 January 2019 в 17:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: