Используй реагирующую библиотеку со стришотами? - PullRequest
0 голосов
/ 26 августа 2018

Можно ли использовать библиотеку реагирования-тестирования с надстройкой сборника рассказов?Я хотел бы создать несколько тестов для реагирующих компонентов, которые не используют фермент.

1 Ответ

0 голосов
/ 17 апреля 2019

Возможно, немного опоздал для вас, но просто смотрю на эту проблему.Это конфиг, который я придумал, который, кажется, работает для меня.

import initStoryshots from "@storybook/addon-storyshots";
import path from "path";
import { render } from "react-testing-library";


const reactTestingLibrarySerializer = {
  print: (val, serialize, indent) => serialize(val.container.firstChild),
  test: (val) => val && val.hasOwnProperty("container")
};

initStoryshots({
  configPath: path.join(__dirname, "..", "config", "storybook"),
  framework: "react",
  integrityOptions: { cwd: path.join(__dirname, "stories") },
  renderer: render,
  snapshotSerializers: [reactTestingLibrarySerializer],
  storyKindRegex: /^((?!.*?DontTest).)*$/
});

Секрет в том, чтобы передать пользовательский Jest сериализатор для опции snapshotSerializers который получает контейнер из результата функции рендеринга и передает свой firstChild для сериализации.

Если вам нужно, вы можете изменить содержимое контейнера перед сериализацией, чтобы удалить нестабильные атрибуты или целые элементы, используяDOM api.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...