我有一个程序,它接受用户输入getLine
然后验证它是所有数字。如果它通过,它会运行一个函数String -> String
并将结果打印到屏幕上。如果不是,则重复getLine
.
module Main where
import Control.Monad.Loops (untilJust)
import Data.Char (isDigit)
main = do
let validateInput s = if all isDigit s then Just s else Nothing
putStrLn =<< myFunc <$> untilJust (validateInput <$> (putStr "Number : " >> getLine))
myFunc = id -- to do
我如何测试这个主要功能,比如Hspec
检查它是否用数字输入与其他输入(字母、空等)做正确的事情
IE
test1 rejects a non-numeric input of "abc"
test2 returns 123 as 123
由于您想测试逻辑而不是用户交互,我建议您简单地考虑输入验证。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句