背景
我正在用Haskell构建一个日志文件解析器。我使用stack来构建它。运行stack build
命令可以顺利工作,我的项目编译成功。然而,运行stack test
会产生以下错误:
parser-test: executable not found
我看到在错误信息上方有以下警告,但我不知道如何避免它所指的重定向。
Warning: output was redirected with -o, but no output will be generated because there is no Main module.
相关文件
目前我还没有编写任何测试,因此测试文件是由stack new
创建的。我的cabal文件长这样:
...
category: Executable
build-type: Simple
-- extra-source-files:
cabal-version: >=1.10
library
hs-source-dirs: src
exposed-modules: LogParser
build-depends: base >= 4.7 && < 5
, attoparsec
, bytestring
, old-locale
, time
default-language: Haskell2010
executable parser-exe
hs-source-dirs: app
main-is: Main.hs
ghc-options: -threaded -rtsopts -with-rtsopts=-N
build-depends: base
, attoparsec
, bytestring
, old-locale
, time
, parser
default-language: Haskell2010
test-suite parser-test
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Spec.hs
build-depends: base
, attoparsec
, bytestring
, hspec
, hspec-attoparsec
, old-locale
, time
, parser
ghc-options: -threaded -rtsopts -with-rtsopts=-N
default-language: Haskell2010
source-repository head
type: git
...
我觉得我错过了什么,但是我找不到我缺失的内容在哪里有记录。
期望的行为
我应该能看到Stack文档中概述的测试套件尚未实现
消息。
main-is
的含义在文档中非常清晰明了。 - Daniel Wagner