Ниже приведен мой тестовый файл для компонента кнопки
import React from 'react';
import ds from 'path-to-ds';
import Button from '../Button';
afterEach(cleanup);
/* ------------------------ RENDERING TESTS -------------------------- */
test('render with theme prop', () => {
const { firstChild } = render(<Button theme={ds}/>).container;
expect(firstChild).toMatchSnapshot();
});
test('render without theme prop', () => {
const { firstChild } = render(<Button />).container;
expect(firstChild).toMatchSnapshot();
});
test('passing a different theme object', () => {
const { firstChild } = render(<Button theme='' />).container;
expect(firstChild).toMatchSnapshot();
});
Теперь, если я добавлю реквизит к первому тесту, вот так:
test('render with theme prop', () => {
const { firstChild } = render(<Button someProp theme={ds}/>).container;
expect(firstChild).toMatchSnapshot();
});
В снимке не обнаружено никакой разницы (без ошибок).
Я предполагаю, что сериализатор, поставляемый с jest-emotion
, не проверяет наличие изменений (поправьте меня, если я ошибаюсь). Есть ли способ сериализовать вывод, чтобы он также мог выделить различия в опорах?
Стек, используемый для тестирования:
- Шутка
- Шутка-эмоция
- реагировать тестирование библиотека