我有一个测试:
test1 = TestCase (assertEqual "Bla" 2 (add1 1))
并且想在另一个没有自动I/O输出的Haskell程序中运行它
runTestTT test1
创建。我试着
runTestText (putTextToHandle stderr False) test1
,但这仍然会创建输出。是否有一种方法(也许是另一个Handle而不是stderr/stdout)来阻止测试创建输出?
我想让IO计数在另一个地方使用它们。
此PutText
不产生任何输出:
foo = runTestText (PutText go 0) test1
where go :: String -> Bool -> Int -> IO Int
go s b i = return 0
这里foo
的类型是IO (Counts, Int)
,所以你只需要:
do (counts, _) <- foo
...