我正在尝试按照http://www.haskell.org/cabal/users-guide/#test-suites
中的示例进行操作当我运行cabal测试时,它会抛出此错误cabal: No test suites enabled. Did you remember to configure with '--enable-tests'?
所以我尝试cabal configure --enable-tests
然后cabal test
,但我现在得到
Running 1 test suites...
Test suite test-s3dm: RUNNING...
cabal: permission denied
我做错了什么?
答案 0 :(得分:3)
您仍然需要实际构建要测试的测试和程序。所以你需要在配置后进行cabal build
。
但我同意该错误信息应该是别的。
答案 1 :(得分:1)
我遇到了同样的问题。原因是测试套件文件没有被编译成可执行文件。事实证明,无论我如何配置它,Cabal都没有为位于某些命名空间中的模块(例如Pkg.Main
)生成可执行文件,并抱怨在构建阶段无法找到Main
模块。
我找到的解决方案是将Main
模块和TestSuite
模块移动到核心src/
文件夹中,并删除这些文件中的标题module
声明。
以下是我的工作cabal
配置现在的样子:
name: Pwn
version: 0.1
cabal-version: >= 1.2
build-type: Simple
executable main
hs-source-dirs: src
main-is: main.hs
build-depends: base >= 4 && < 5,
random,
containers
test-suite test-suite
hs-source-dirs: src
main-is: test-suite.hs
build-depends:
base >= 4 && < 5,
test-framework >= 0.4.1,
test-framework-quickcheck,
test-framework-hunit
type: exitcode-stdio-1.0