global.navigator
を使用してナビゲータオブジェクトにアクセスできます。だから、getCurrentPosition
を模擬するためには、単にそれにjest.fn
を割り当てる:
global.navigator = {
getCurrentPosition : jest.fn()
}
それでは、どのようにすべての呼び出しのための新しい座標を返すように。読み取ることができません:最も簡単な解決策は、私は私の冗談のテストファイルにこれを追加しようとしたが、私は、 `TypeError例外を取得したグローバルカウンタ
const coords = [[1, 2], [2, 3]]
let counter = -1
global.navigator = {
getCurrentPosition: jest.fn(() {
counter++
return coords[counter]
})
}
それとも、モック
const coords = [[1, 2], [2, 3]]
global.navigator = {
getCurrentPosition: jest.fn(() =>
coords[global.navigator.getCurrentPosition.mock.calls.length]
)
}
の
calls
プロパティを使用することができますでしょう未定義のプロパティ 'getCurrentPosition'。 'global.navigator'を' global.navigator.geolocation'に変更しました。私のテストは合格になりました。免責事項:私はこれを書いている時点でネイティブと冗談に反応することは非常に新しいです。 –