최근 HUnit 테스트 프레임 워크를 사용하여 haskell에서 테스트를 실행했습니다.PutText in haskell HUnit
나는 첫 번째 인수로 PutText st를 취하는이 함수 PutText와 runTestText를 보았습니다.
그러나이 방법을 사용하는 방법을 잘 모르겠으며이를 사용하는 방법을 이해하는 데 도움이 필요하십니까?
최근 HUnit 테스트 프레임 워크를 사용하여 haskell에서 테스트를 실행했습니다.PutText in haskell HUnit
나는 첫 번째 인수로 PutText st를 취하는이 함수 PutText와 runTestText를 보았습니다.
그러나이 방법을 사용하는 방법을 잘 모르겠으며이를 사용하는 방법을 이해하는 데 도움이 필요하십니까?
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
사용하려고 할 때마다 항상 false가됩니다. 왜, 어떤 아이디어가 확실하지 않은 Im? – Zubair