2017-07-05 11 views
2

これが反応される天然成分。プラットフォーム固有の試験反応させネイティブアプリ

//testcases.js 
import { Text, TouchableOpacity, Platform } from 'react-native'; 
import React from 'react'; 
import ReactDOM from 'react-dom'; 
import { shallow } from 'enzyme'; 
import Test from '../Test' 

describe('Testing an App',() => { 
    let snapshot; 

    beforeAll(() => { 
     snapshot = shallow(<Test />); 
     Platform.OS = 'android'; 
    }); 
    it(' -- must return 1',() => {  
     expect(snapshot.find('TouchableNativeFeedback').length).toBe(1); 
    }); 
}); 

期待リターンは1ですが、受け取った値は0です。私はプラットフォームを 'アンドロイド'として設定しましたが、運はありません。

私はモバイル自動化テストを初めて利用しています。それゆえ、私は何かが明らかに欠けているかもしれませレンダリングしてさらにテストするためにreact-domを使うべきですか?

私はそれが何か非常に明白だと感じますが、私の指をそこに置くことはできません。

これは、あなたのテストで直接使用するプラットフォームを変更することはできません

{ 
    "name": "exampleApp", 
    "version": "0.0.1", 
    "private": true, 
    "scripts": { 
    "start": "node node_modules/react-native/local-cli/cli.js start", 
    "test": "jest" 
    }, 
    "dependencies": { 
    "react": "15.4.1", 
    "react-native": "0.42.3" 
    }, 
    "devDependencies": { 
    "babel-jest": "20.0.3", 
    "babel-preset-react-native": "2.0.0", 
    "jest": "20.0.4", 
    "enzyme" : "2.8.0", 
    "react-dom": "15.4.1", 
    "react-addons-test-utils":"15.4.1", 
    "react-test-renderer": "15.4.1" 
    }, 
    "jest": { 
    "preset": "react-native"  
    } 
} 

答えて

0

私のpackage.jsonです。あなたの設定では、希望のプラットフォームを設定する必要があります。方法を確認するにはthis documentationをご覧ください。

+0

さまざまなバージョンの競合時。私は15.4.1に反応してダウングレードしなければなりませんでした.. このページによるとhttps://github.com/facebook/jest/issues/1840 15.4.1の急い進のサポートはありません。 15.4.1以外のバージョンでは、haywireが発生します。 提案がありますか? –

+0

私は他のやり方を知らない。申し訳ありませんが、私はこれであなたを助けることはできません。 –

+0

そのok。私は別の方法を見つけるでしょう。ありがとうございました。 –

関連する問題