Подтвердить что ты не робот

Как получить Haskell QuickCheck 2.4 для увеличения # тестов?

Хорошо, как я узнал по предыдущему вопросу книга RWH уже устарела для QuickCheck. И несмотря на все сообщения, которые я прочитал, расскажите мне, как невероятно просто использовать QuickCheck, я не могу найти места, которое подскажет мне, как изменить количество тестов для запуска для свойства.

RWH говорит:

handyCheck limit = check defaultConfig {
                     configMaxTest = limit
                   , configEvery   = \_ _ -> ""
                   }

Как это сделать с QuickCheck 2.4? Что еще более важно, как бы я узнал себя? Пожалуйста, не говорите мне, что я должен был понять это из документации API.

4b9b3361

Ответ 1

Вы ищете:

quickCheckWith stdArgs { maxSuccess = 5000 } someProp

Как я узнал

  • Я пошел в документацию по API.
  • Второе, что я увидел, после quickCheck был Args с полем maxSuccess.
  • Я не хотел писать все поля, поэтому я искал значение типа Args - нахождение stdArgs. (Используйте функцию поиска браузеров - обычно ctrl-f). OTOH, я мог бы использовать hoogle.
  • Мне нужно было использовать мой тип Args, чтобы я продолжал искать. Следующая строка была quickCheckWith - bingo! С другой стороны, я мог бы использовать hoogle.

Как еще можно узнать

Как я уже говорил выше, вы могли бы использовать hoogle для поиска множества функций, предполагая, что вы понимаете, что тип Args является ядром того, что вам нужно (из пикши).

В противном случае вы, вероятно, сводились к тому, чтобы посмотреть, что делают другие пакеты, а это значит, что вам нужно знать, какие другие пакеты стоит посмотреть. Папка examples в QuickCheck кажется очевидной, но не все пакеты содержат такие примеры. Используя обратные зависимости, вы часто можете найти пакет для просмотра, но для QC у множества пакетов нет явных зависимостей.

Ответ 2

Для тех, кто хочет сразу запустить все тесты и предоставить их конфигурацию:

return []
main = $forAllProperties (quickCheckWithResult stdArgs { maxSuccess = 500 })