は私が反応使ってテストしようとしています単純なコンポーネントであるネイティブ0.39と冗談18:Reactをテストする方法Jestを使用してカスタムネイティブモジュールをインポートするネイティブコンポーネント?
ここ// index.ios.js
import React, { Component } from 'react';
import { AppRegistry, NativeModules, View } from 'react-native';
export default class TestProject extends Component {
componentDidMount() {
NativeModules.TestModule.test();
}
render() {
return <View style={{ flex: 1 }} />;
}
}
AppRegistry.registerComponent('TestProject',() => TestProject);
TestModuleとそのtest
方法です:
// ios/TestProject/TestModule.m
#import "TestModule.h"
@implementation TestModule
RCT_EXPORT_MODULE();
RCT_EXPORT_METHOD(test){
NSLog(@"This is a test");
}
@end
TypeError: Cannot read property 'test' of undefined
:
// __tests__/index.ios.js
import 'react-native';
import renderer from 'react-test-renderer';
import React from 'react';
import Index from '../index.ios.js';
it('renders correctly',() => {
const tree = renderer.create(
<Index />
);
});
私はどのようにMock native modules using jest.mockが、午前ST上の冗談のドキュメントを読んでいますJestのNativeModuleのモックを上記のTestModuleクラスを含むように拡張する方法については不明です。
ありがとう! 'beforeEach'に渡された関数は、中括弧を閉じていませんが、そうでなければ魅力のように機能します。私は 'beforeAll'を代わりに使うようにしました。なぜなら、この設定は各スペックの前ではなく一度だけ実行する必要があるからです。 – andybangs
偉大な、そして、私は欠けている中括弧を追加しました。 – rgoldfinger