Я использую response-apollo для создания клиента, который использует GraphQL API, однако я очень застрял в тестировании. Я хочу имитировать сервер, чтобы я мог легко протестировать приложение без необходимости совершать сетевые вызовы.
Я нашел несколько советов о том, как издеваться над сервером:
- 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
Но на самом деле нет примера того, как использовать этот фиктивный сервер в моих тестах приложений, чтобы избежать попадания на сервер.
Моя цель - настроить интеграционные тесты, чтобы убедиться, что приложение действительно работает:
describe('Profile feature', () => {
beforeAll(() => {
store = setupStore();
app = mount(
<ApolloProvider store={store} client={apolloClient}>
<ConnectedRouter history={history}>
<App />
</ConnectedRouter>
</ApolloProvider>
);
});
});
Магазин использует Redux, и клиент создается следующим образом:
const networkInterface = createNetworkInterface({
uri: process.env.REACT_APP_API_URL
});
export const apolloClient = new ApolloClient({
networkInterface
});
Как я могу использовать здесь смоделированный сервер с инструментами graphql вместо фактического API?