Как запустить конкретный тест на FsCheck с помощью replay?

#fscheck

Вопрос:

У меня есть тест с использованием FsCheck, когда он завершается неудачей, он предоставляет мне информацию о начальном элементе, который нужно поместить в Replay свойство для воспроизведения неудачного теста. Но отладить это действительно сложно, потому что это не приведет к сбою при первом значении.

FsCheck также предоставляет мне информацию о количестве попыток до тех пор, пока не произойдет сбой: Falsifiable, after 74 tests

Есть ли какой-либо способ запустить именно то значение, которое не удалось выполнить?

Обходные пути, которые я использую:

  • Создайте тест, передающий значение, которое он дает мне для отладки, и после исправления кода я удаляю этот тест;
  • Добавьте в тест условную точку останова для значения, из-за которого тест завершается неудачно.

Оба они работают, но должен быть лучший способ.

Комментарии:

1. На данный момент это не поддерживается, хотя это правда, что у FsCheck также есть вся информация для печати исходного кода для неудачного теста. Есть небольшое опасение, что переход к этому не приведет к тем же самым значениям, если будут задействованы побочные эффекты, но я бы не так сильно беспокоился об этом. Я рекомендую и использую ваше первое решение, но я не удаляю тест — в конце концов, это ошибка, которую я писал раньше, так что я, скорее всего, сделаю это снова. Со временем мои тесты становятся своего рода набором регрессионных тестов.

2. Спасибо за комментарий @KurtSchelfthout. Я думаю, что это может быть ответом, так как в данный момент он не поддерживается. Также мне очень понравилась ваша точка зрения, связанная с теми случаями, которые являются вашим набором регрессии.