Ich habe ein Reagieren Mutter Projekt, das nur die Probe enthält Jest Tests, die mit einem neuen Projekt erstellt werden (sie nur, wenn überprüfen Werke auf iOS- und Android-Rendering).Typeerror: holen ist keine Funktion in Reaktion india & Jest
Mein Projekt verwendet fetch
für Netzwerkanforderungen in einer der Komponenten. Dies funktioniert gut, wenn ich die app laufen, aber wenn ich die Tests laufen sie nicht mit dieser Fehlermeldung:
TypeError: fetch is not a function.
Wer weiß, was los ist?
Hier ist der Teil meines Code, fetch
verwendet:
export default class MainScene extends Component {
constructor(props) {
super(props);
this.renderRowView = this.renderRowView.bind(this);
}
onFetch(page = 1, callback) {
var date = new Date();
date.setDate(date.getDate() - 7);
fetch( url, {
method: 'GET',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
})
.then((response) => response.json())
.then((responseJson) => {
if (responseJson.response.pages <= page) {
callback(responseJson.response.results, {
allLoaded: true
});
} else {
callback(responseJson.response.results);
}
})
.catch((error) => {
console.error(error);
});
}}
An der Testdatei:
import 'react-native';
import React from 'react';
import Index from '../index.ios.js';
import renderer from 'react-test-renderer';
it('renders correctly',() => {
const tree = renderer.create(
<Index />
);
});
sollten Sie etwas Code anzeigen. Hilft das auch? http://stackoverflow.com/questions/30954899/react-native-fetch-is-not-a-funktion – Matthias
Posted Code, wo ich fetch verwenden. Ich benutze 'require' nicht, damit mein Problem anders aussieht. –
'Fetch' kommt mit reactive-native, aber nicht mit nodeJS (was ich glaube, rennt Jest - hat es nie selbst benutzt). Versuchen Sie, einen Fetch-Polyfill für Ihre Tests hinzuzufügen –