我正在写一个cabal文件来安装用Haskell编写的库。我想在安装时执行一些测试(用quickCheck
编写)。
cabal文件如下所示:
...
build-type: Simple
cabal-version: >=1.8
Test-Suite my_tests
Type: exitcode-stdio-1.0
Hs-Source-Dirs: test
Main-is: Tests.hs
Library
Hs-Source-Dirs: src
Exposed-modules: HsMesher.Fonctions
, HsMesher.Types
, HsMesher.Algorithmes1D.Arcs
, HsMesher.Algorithmes1D.Segments
Build-depends: base ==4.5.*
和执行测试的Test.hs
文件是:
import Test.QuickCheck
import HsMesher.Algorithmes1D.Segments
import HsMesher.Algorithmes1D.Arcs
import HsMesher.Types
...
main = do
putStrLn "My tests"
quickCheck prop_test1
quickCheck prop_test2
当我运行runhaskell test/Tests.hs
时,测试例程正确执行。
但是当我输入cabal configure --enable-tests && cabal build && cabal test
时,不会执行测试,我会收到以下消息:
cabal:未启用测试套件。你还记得配置吗? '--enable检验' 吗
但是,cabal install
已正确安装了库,并使用cabal sdist
正确存档。
你知道出了什么问题吗? 在将quickCheck与Cabal集成时,我有什么不明白的地方吗?
我正在使用cabal v1.14.0,ghc v7.4.1
答案 0 :(得分:0)
在调用测试套件时不要忘记依赖非常重要,因为当您忘记它时,cabal不会明确地抱怨。
Test-Suite my_tests
Type: exitcode-stdio-1.0
Hs-Source-Dirs: test
Main-is: Tests.hs
Build-depends: base ==4.5.* , HsMesher, QuickCheck