Я пытаюсь написать тест на основе свойств с библиотекой Tasty и SmallCheck.Но мне нужен IO в функции проверки свойств, а также мне нужен ресурс I / O.Итак, я превратил существующий тест в:
myTests :: IO Cfg -> TestTree
myTests getResource = testGroup "My Group"
[
testProperty "MyProperty" $
-- HOW TO CALL getResource here, but not in
-- function, so to avoid multiple acquisition
-- Some{..} <- getResource
\(x::X) -> monadic $ do -- HERE I WILL DO I/O...
]
Итак, вопрос в следующем: как вызвать getResource один раз?Итак, не в теле \(x::X) -> ...
, а до него.Возможно ли это?