1

我正在使用 quickcheck 编写一个简单的测试。

import Test.QuickCheck

f :: Int -> Int 
f x
        | x < 0 = (-x)
        | otherwise = x 

main = do
        putStrLn "Testing"
        quickCheck ((\x -> ((f x) >= 0)) :: Int -> Bool)

每当我通过 运行它时$ runhaskell test.hs,我都会看到两种不同的结果之一。要么我得到: 测试 +++ 好的,通过了 100 次测试。或者:我没有得到任何输出,程序终止。我无法对这种行为进行推理。

这是在 Quickcheck 2.5.1.1 和 ghc 7.4.2 上。

4

0 回答 0