可能重复:将Haskell GHCi命令结果输出到txt文件
我是Haskell的新手,我正在尝试将测试用例输出结果重定向到文本文件 . 它现在的设置方式是 AddAllTestCases.hs
包含我需要运行的所有测试用例,以便测试我创建的函数 . 我通过加载 AddAllTestCases.hs
在GHCi上运行测试用例,然后只需输入 main
并按Enter键 . 这导致测试用例输出结果完美地打印在GHCi内部 .
因为有数百个测试用例,我需要将输出结果重定向到文本文件 .
尝试#1:
writeFile "myoutput.txt" $ show $ main
我收到以下错误:
No instance for (Show(IO())) arising from a use of show
在CMD中尝试#2(尝试创建可执行文件,然后将可执行结果输出到文本文件):
ghc --make AddAllTests.hs -o testResults.exe
这给了我以下错误:
Warning: output was redirected with -o, but no output will be generated because there is no Min module
这很奇怪,因为当我使用GHCi(尝试#1)并输入 main
时,它会完美地执行所有操作,我认为这意味着有一个主模块?
我非常感谢将测试用例结果重定向到文本文件的任何帮助 .
提前谢谢了!
1 回答
您需要
Main
模块(和main
操作)来生成可执行文件 . 您可以将模块重命名为Main
,也可以在命令行中将模块指定为Main
,生成一个没有名为
Main
的模块的可执行文件 .没有编译的方法是
另一种方法是使用一个文件,在其中列出所有测试用例,
并使用重定向的输入和输出运行
ghci