Вот что я получил:доступа устанавливается значение вверх `beforeAll` во время испытаний
spec :: Spec
spec = do
manager <- runIO newManager
it "foo" $ do
-- code that uses manager
it "bar" $ do
-- code that usees manager
Документах для runIO
предположить, что я, вероятно, следует использовать beforeAll
вместо этого, так как я не нужно manager
к построить дерево spec, мне просто нужно это сделать запустите каждый тест, и в моем случае лучше, чтобы все они использовали один и тот же менеджер, а не создавали новый для каждого теста.
Если вам не нужен результат ввода-вывода для построения дерева спецификаций, beforeAll может быть более подходящим для вашего прецедента.
beforeAll :: IO a -> SpecWith a -> Spec
Но я не могу понять, как получить доступ к менеджеру по тестам.
spec :: Spec
spec = beforeAll newManager go
go :: SpecWith Manager
go = do
it "foo" $ do
-- needs "manager" in scope
it "bar" $ do
-- needs "manager" in scope