私はjestを使ってユニットテストを書いています。サードパーティのライブラリからコンストラクタを呼び出す関数をテストする必要があります(テストの目的は、モックのモックサードパーティライブラリコンストラクタ
第三のpatryライブラリは、私がjest.spyOn(Popper.prototype, 'constructor').mockImplementation(() => {})
をしたが、それは、コンストラクタの内部から来たエラー(したがって、それが呼び出されているモック関数ではありません)
良いの引数です
ここに私のテストコードがあります
import Popper from 'popper.js';
it('should call Popper constructor with correct argument',() => {
// Arrange
jest.mockImplementation(Popper.prototype, 'constructor',() => {});
const refElem = document.createElement('div');
const popElem = document.createElement('div');
const placement = 'top';
const container = document.createElement('div');
// Act
popup.create(refElem, popElem, placement, container);
// Assert
expect(Popper.prototype.constructor).toHaveBeenCalled();
});
んでしたあなたはあなたのテストで運がありますか?私はそれが正しいかどうか(私はそれがうまくいくかどうか)それがうまくいくかどうかにかかわらず、いくつかのコンストラクタを 'jest.fn()'だけで嘲笑した。 – MattyK14
@ MattyK14この問題の主な問題は、それが私のコンストラクタではなく、3番目の部分ライブラリの1つであったことです。とにかく、うまくいけばあなたのソリューションを投稿して、私の姿を見てください – CharybdeBE