Как заставить Haskell QuickCheck 2.4 увеличить # тесты?
Хорошо, как я узнал из моего предыдущего вопроса, книга RWH уже устарела для QuickCheck. И, несмотря на все прочитанные мной посты, в которых рассказывается, как невероятно просто использовать QuickCheck, я не могу найти места, в котором рассказывалось бы, как изменить количество тестов, запускаемых для свойства.
RWH говорит:
handyCheck limit = check defaultConfig {
configMaxTest = limit
, configEvery = \_ _ -> ""
}
Как это сделать с помощью QuickCheck 2.4? Что еще более важно, как бы я узнал сам? Пожалуйста, не говорите мне, что я должен был понять это из документации API.
2 ответа
Ты ищешь:
quickCheckWith stdArgs { maxSuccess = 5000 } someProp
Как я узнал
- Я пошел к документации API.
- Второе, что я увидел после
quickCheck
былArgs
введите сmaxSuccess
поле. - Я не хотел писать все поля, поэтому я искал значение типа
Args
- нахождениеstdArgs
, (Используйте функцию поиска в вашем браузере - обычно Ctrl-F). ОТО, я мог бы использовать Google. - Мне нужно было использовать мой
Args
напечатайте где-нибудь, чтобы я продолжал искать. Следующая строка былаquickCheckWith
- Бинго! С другой стороны, я мог бы использовать Google.
Как еще вы можете узнать
Как я уже говорил выше, вы могли бы использовать hoogle, чтобы найти множество функций, если вы понимаете, Args
Тип - это ядро того, что вам нужно (из пикши).
В противном случае вы, вероятно, будете вынуждены взглянуть на то, что делают другие пакеты, а это значит, что вам нужно знать, на что стоит обратить внимание. Папка примеров в QuickCheck кажется очевидной, но не все пакеты содержат такие примеры. Используя обратные зависимости, вы часто можете найти пакет для просмотра, но для QC многие пакеты не имеют явных зависимостей.
Для тех, кто хочет запустить все тесты сразу и предоставить их конфигурацию:
return []
main = $forAllProperties (quickCheckWithResult stdArgs { maxSuccess = 500 })