2017-12-18 37 views
0

反応したネイティブのアプリをjestと酵素で以下のようにテストしようとしています。 npm testを実行している上酵素のエラーで反応した反応テスト

import 'react-native'; 
import React from 'react'; 
import renderer from 'react-test-renderer'; 
import { shallow } from 'enzyme'; 

import { SignUp } from '../../src/pages'; 

describe('Testing SignUp component',() => { 
    it('renders as expected',() => { 
    const wrapper = shallow(
     <SignUp /> 
    ); 
    expect(wrapper).toMatchSnapshot(); 
    }); 
}); 

は私がCannot find module 'enzyme/build/ShallowTraversal' from 'shallow.js'

テストスイートを実行することができなかったエラーが出ます。

そのテストが行​​わマイナス酵素が間違って何をすることができ、適切

test('SignUp Page renders correctly',() => { 
    const tree = renderer.create(<SignUp />).toJSON(); 
    expect(tree).toMatchSnapshot(); 
}); 

実行されますのでご注意ください!

答えて

0

最初にenzyme-to-jsonをインストールするだけで問題を解決しました。 npm install --save-dev enzyme-to-json

package.jsonでsnapShotSerializersマイtest_file.js内部toJsonを変更

import 'react-native'; 
import React from 'react'; 
import renderer from 'react-test-renderer'; 
import { shallow } from 'enzyme'; 
import toJson from 'enzyme-to-json'; //added this line 

この

describe('Testing SignUp component',() => { 
    it('renders as expected',() => { 
    const wrapper = shallow(
     <SignUp /> 
    ); 
    expect(toJson(wrapper)).toMatchSnapshot(); //edited this line 
}); 
}); 

にテストを変更インポート

"jest": { 
"preset": "react-native", 
"collectCoverage": true, 
"collectCoverageFrom": [ 
    "**/src/**.{js,jsx}" 
], 
"snapshotSerializers": ["enzyme-to-json/serializer"] //added this line 

}

テストが正しく実行されています

関連する問題