2016-12-19 2 views
2

Я пытаюсь издеваться над реакцией-native-ibeacon (собственный модуль, я просто хочу проверить, как он называется, включая все функции в объекте Beacons ниже).Как я издеваюсь на реакцию-native-ibeacon в шутке

Вот фрагмент кода, который оставляет маяки неопределенными:

var React = require('react-native'); 
var Beacons = require('react-native-ibeacon'); 
jest.mock('react-native-ibeacon'); 

describe('beaconView',() => { 

    console.log('Beacons', Beacons); 

    Beacons.requestWhenInUseAuthorization(); 

    it('test pass',() => { 
    expect(1).toBeTruthy(); 
    }); 
}); 

Это терпит неудачу, когда я пытаюсь вызвать метод requestWhenInUseAuthorization.

Что мне не хватает?

+0

Я думаю, проблема в том, что маяки зависят от моста между javascript и iOS, которого нет, когда я бегу со шуткой. – ukayer

ответ

4

Вам необходимо предоставить хороший макет, используя второй аргумент jest.mock.

Пример:

jest.mock('my-module',() => ({ 
    myFn: jest.fn(); 
})); 

, а затем вы можете сделать:

const myModule = require('my-module'); 

myModule.myFn() // calling the mock function. 

вам необходимо выяснить, какие функции внешний родной модуль, а затем создать макет, который может вести себя подобным образом.

+0

Отлично, я пойду в этом направлении. Спасибо! – ukayer

Смежные вопросы