it
Создаёт пользовательскую историю, позволяя описать стадию взаимодействия с интерфейсом и задать параметры теста.
подсказка
Поддерживаются также и другие мета-аттрибуты специфичные для конкретного клиента preview.
retries
Определяет количество повторных попыток при неудаче для отдельно взятой истории. Принимает устройство.
it('...', {
// Повторить тест до 3-х раз в случае неудачи. Только на мобильных устройствах.
retries: (device) => (device.name === 'mobile' ? 3 : 0),
});
act
Описывает действия, выполняемые в истории с помощью актора. Данная функция эмулирует действия пользователя, такие как нажатие на кнопки, отправка форм и так далее.
it('...', {
act: (actor) => actor.click(finder.getByText('Войти')),
});
Принимает окружение истории как второй аргумент.
it('...', {
// На мобильном устройстве интерфейс может отличаться
act: (actor, { device }) =>
device.name === 'mobile'
? // На телефоне выполнится свайп
actor.do(swipeProduct())
: // На ПК обычное нажатие кнопки
actor.do(clickOnTrash()),
});
StoryAttributes
Публичный интерфейс для внешних расширений фабрики тестов:
// Объявляем интерфейс в пространстве имён @storyshots/core
declare module '@storyshots/core' {
// TArg это generic параметр, обычно содержащий в себе структуру externals
interface StoryAttributes<TArg> {
// Можно использовать любые структуры, даже функции.
prop: string;
}
}
// Конфигурация теперь поддерживает новое свойство.
it('...', {
prop: 'property value',
});
подсказка
StoryAttributes совместно с функциями над историями позволяет реализовывать большое количество полезных поведений.