Haskell Hspec - запускать только дорогой тест на флаге командной строки

Я хочу запускать дорогой тест Hspec, только если для командной строки установлен какой-либо флаг stack test, Я понимаю, что я могу использовать stack test --test-arguments=... но что бы я использовал в командной строке и как я бы провел условное тестирование в моем Spec.hs? Я не могу найти хороший пример в другом месте онлайн.

РЕДАКТИРОВАТЬ: возможно ли получить тест, который будет пропущен при запуске stack test без указания пропуска? Или это было бы возможно при наличии другого подобного файла спецификации только с дорогим тестом в?

1 ответ

Решение

Ты можешь использовать --skip=PATTERN пропустить тест. Кроме этого, вы можете проверить аргументы командной строки в своем собственном main если вы не используете автоматическое обнаружение тестов и установите Config за hspecWith (configSkipPredicate).

Если вы хотите автоматически пропустить тест без указания его в командной строке, вы можете использовать .hspec файл, смотрите здесь. Вы можете переопределить пропуск, указав вместо этого совпадение с шаблоном в командной строке.

Другие вопросы по тегам