Сообщено о значении PutText, которое позволяет настроить способ сообщения, генерируемого при запуске теста.
Простым способом создания одного является использование putTextToHandle stdout True
для вывода сообщений на стандартный выход. Параметр True
означает также излучение сообщений о ходе выполнения.
Протокол PutText позволяет вам поддерживать состояние. Это пример того, который отслеживает количество исходящих сообщений. Конечное значение этого состояния также возвращается runTestText
в качестве второго компонента возвращенного кортежа.
reportMsg :: String -> Bool -> Int -> IO Int
reportMsg message isProgress count = do
putStrLn $ "#" ++ show (count+1) ++ ": " ++ message
return (count+1)
myPutText = PutText reportMsg 0 :: PutText Int
И тогда вы можете использовать его как это:
(testCounts, msgCount) <- runTestText myPutText tests
putStrLn $ "Messages emitted: " ++ show msgCount
Здесь testCounts
является подсчет количества тестов, которые были запустить/прошел/не удалось/и т.д. msgCount
это значение, возвращаемое последний вызов функции PutText.
Спасибо, мне было интересно, какая цель служит аргументу bool? – Zubair
Указывает, является ли сообщение сообщением «прогресс». Я предполагаю, что сообщаю количество выполненных тестов. – ErikR
Всякий раз, когда я пытаюсь использовать его, он всегда оказывается ложным. Я не уверен, почему, какие-то идеи? – Zubair