Немного поздно, но я хотел сделать нечто подобное и просто решил, создав массив с параметрами ввода / вывода и вызвав его в цикле.Это просто базовый пример, но я мог бы продолжить над ним немного больше, чтобы посмотреть, что я могу заставить его сделать.
describe('Arrow', () => {
const theories = [
[undefined, "left-arrow", "<"],
["left", "left-arrow", "<"],
["right", "right-arrow", ">"]
];
theories.forEach(([dir, className, arrow]) => {
it(`should render the correct arrow given ${dir} direction`, () => {
const wrapper = shallow(<Arrow dir={dir} onClick={jest.fn()} />);
expect(wrapper.hasClass(className)).toEqual(true);
expect(wrapper.text().toEqual(arrow);
});
});