运行 没有输出的HUnit

Run HUnit without output

我有一个测试:

test1 = TestCase (assertEqual "Bla" 2 (add1 1))

并希望在另一个 Haskell 程序中 运行 它没有自动 I/O 输出

runTestTT test1

会创建。我试过了

runTestText (putTextToHandle stderr False) test1 

但这仍会创建输出。有没有办法(也许是另一个句柄而不是 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
   ...