Как игнорировать сгенерированные файлы запросов на ретрансляцию в тестах Jest с помощью create-реагировать-приложение? - PullRequest
0 голосов
/ 03 октября 2019

Я создал приложение 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-реагировать-приложение?

1 Ответ

0 голосов
/ 21 октября 2019

Попробуйте добавить это в свой пакет. Json

    ...,
    "jest": {
        "testPathIgnorePatterns": [
            ".graphql.js"
        ]
    },
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...