Я использую doctest , и мне нравится тот факт, что я могу тестировать неэкспортированные функции из того места, где они определены:
module Foo (frobnicate) where
-- |
-- >>> randomInt = 42
-- True
randomInt :: Int
randomInt = 42
Я до сих пор держал QuickCheckэкземпляры в test-suite
, поэтому library
не зависит от пакетов тестирования, но это означает, что я не могу запустить QuickCheck из doctests.
Конечно, я не могу использовать doctest и запускать QC из test-suite
, но затем я должен экспортировать каждую функцию, которую хочу протестировать.
Есть ли способ организовать тестирование документов, использующих экземпляры QC, без зависимости основного library
от контроля качества (и без перезаписи экземпляров в тесте doctest "repl")?