3
내가 테스트를이 코드 조각을 스냅 샷하는 것을 시도하고있다 :피커와 피커를 모의하는 법.
내 테스트 지금이 바로 보이는import React, { Component } from 'react';
import {
Picker,
} from 'react-native';
export default class TestComponent extends Component {
render() {
return (
<Picker
selectedValue={this.props.asset.type}
onValueChange={this.props.onTypeChange}>
<Picker.Item label="Type of asset" value="default" />
<Picker.Item label="Car" value="car" />
<Picker.Item label="Boat" value="boat" />
<Picker.Item label="Ship" value="ship" />
</Picker>
);
}
}
는 :
TypeError: Cannot read property '_tag' of undefined
I을 :
import 'react-native';
import React from 'react';
import TestComponent from './TestComponent';
import renderer from 'react-test-renderer';
describe('TestComponent',() => {
const asset = {
type: 'car',
}
it('renders correctly',() => {
const tree = renderer.create(
<TestComponent
asset={asset} />
).toJSON();
expect(tree).toMatchSnapshot();
});
})
내 문제는 내가 얻을 수 있다는 것입니다 this issue
을 기반으로 조롱해야한다고 생각합니다.
jest.mock('Picker',() => 'Picker')
을하지만 여전히 오류가 발생합니다보다 Picker.Item은 아직도 내가 아무 소용이 함께 노력
Invariant Violation: Element type is invalid: expected a string (for built-
in components) or a class/function (for composite components)
but got: undefined. Check the render method of `TestComponent`.
다른 변종 조롱하지 않기 때문에 : 나는 단순히 추가하는 시도
jest.mock('Picker',() => {return {Item: 'Item'}});
----------------------------------------------------
class Picker{
Item = 'PickerItem'
}
jest.mock('Picker',() => {
return Picker;
});