0
Jestでは、私は次のテストコードを持っています。私はNativeModules
をインポートします。モックされたオブジェクトに直接アクセスすることはできません
import { NativeModules } from 'react-native';
その後、各テストの前に、私はそれに私自身のオブジェクトに追加します。私はNativeModules
をインポートし、私がテストしていたソースコードで
beforeEach(() => {
NativeModules.Dispatcher = {
methodA: jest.fn(),
methodB: jest.fn(),
methodC: jest.fn()
};
});
:
import { NativeModules } from 'react-native';
私の模擬オブジェクトを参照してください。
class ClassThatIsTested {
someMethod(parameter) {
NativeModules.Dispatcher.methodA(parameter);
//some other code
}
}
これは問題なく動作します。しかし、私は直接嘲笑オブジェクトを参照しようとした場合:
import { NativeModules } from 'react-native';
const { Dispatcher } = NativeModules;
class ClassThatIsTested {
someMethod(parameter) {
Dispatcher.methodA(parameter);
//some other code
}
}
それは失敗します。
Dispatcher.methodA is not a function
私はDispatcher
印刷する場合、私はundefined
を取得します。
どうしてですか?なぜ擬似オブジェクトに直接アクセスできないのですか?
は、私が誤って自分のコードをコピーしました。実際には、 'react-native 'から' import {NativeModules}'を使用します。 – octavian