Я создал приложение React с помощью create-реагировать на приложение и добавил Relay. Я хочу протестировать свои компоненты с помощью Jest, но компилятор Relay создает файлы, которые Jest читает как тестовые файлы. Я не могу игнорировать файлы, потому что я использую create-реагировать-приложение.
Например, тест может выглядеть так:
// src/components/MyComponent/__tests__/MyComponent.test.js
import React from 'react';
import graphql from 'babel-plugin-relay/macro';
import { QueryRenderer } from 'react-relay';
import renderer from 'react-test-renderer';
import { MockPayloadGenerator, createMockEnvironment } from 'relay-test-utils';
import MyComponent from '../MyComponent';
const query = graphql`
query MyComponentQuery @relay_test_operation {
myComponent: node(id: "test-id") {
...MyComponent_myComponent
}
}
`;
const rootRender = ({ props }) => <MyComponent myComponent={props.myComponent} />;
it('renders without crashing', () => {
const environment = createMockEnvironment();
const component = renderer.create(
<QueryRenderer
environment={environment}
query={query}
variables={{}}
render={rootRender}
/>
);
environment.mock.resolveMostRecentOperation((operation) =>
MockPayloadGenerator.generate(operation));
expect(component.toJSON()).toMatchSnapshot();
});
relay-compiler создаст файл src/components/MyComponent/__tests__/__generated__/MyComponentQuery.graphql.js
для запроса.
При выполнении тестов я получаю:
FAIL src/components/MyComponent/__tests__/__generated__/MyComponentQuery.graphql.js
● Test suite failed to run
Your test suite must contain at least one test.
Как заставить Jest игнорировать созданные файлы запросов? Есть ли способ сделать это без извлечения из create-реагировать-приложение?