Używam react-apollo do zbudowania klienta, który zużywa interfejs API GraphQL, jednak utknąłem na testach. To, czego chcę, to kpić z serwera, aby móc łatwo przetestować aplikację bez konieczności wykonywania połączeń sieciowych.Jak używać wyśmianych danych z react-apollo do testów
Znalazłem kilka wskazówek, w jaki sposób mock serwera:
- https://dev-blog.apollodata.com/mocking-your-server-with-just-one-line-of-code-692feda6e9cd
- http://dev.apollodata.com/tools/graphql-tools/mocking.html#addMockFunctionsToSchema
Ale tak naprawdę nie jest to przykład, w jaki sposób korzystać z tego serwera w szydzili moje testy aplikacji, aby uniknąć trafienia na serwer.
Moim celem jest testach integracyjnych setup twierdzić, że aplikacja jest rzeczywiście działa:
describe('Profile feature',() => {
beforeAll(() => {
store = setupStore();
app = mount(
<ApolloProvider store={store} client={apolloClient}>
<ConnectedRouter history={history}>
<App />
</ConnectedRouter>
</ApolloProvider>
);
});
});
Sklep korzysta Redux, a klient jest tworzony tak:
const networkInterface = createNetworkInterface({
uri: process.env.REACT_APP_API_URL
});
export const apolloClient = new ApolloClient({
networkInterface
});
Jak można Używam wyśmiewanego serwera z grafql-tools tutaj zamiast rzeczywistego API?
Dziękujemy za pytanie i odpowiedź! To postawiło mnie na właściwej drodze po wielu godzinach poszukiwań! –
Cieszę się, że mogłem ci pomóc, zbyt długo się z tym zmagałem. –
@CarlosMartinez, który z nich jest ogólnie przyjętą najlepszą praktyką lub najlepiej obsługiwaną biblioteką/opcją? – arcom