2016-01-01 16 views
11

ghciでテストスイートを読み込み、QuickCheckとhspecの依存関係をロードするためにスタックを使用しようとしています。Haskell Stack Ghciテストスイート

どうすればいいですか?

私はfranklinchenテンプレートを使用しています。
https://github.com/commercialhaskell/stack-templates/blob/master/franklinchen.hsfiles

Iは
スタックGHCiのテストスイート
スタックGHCiの--main-あるが

をスペックIが主である標的化するために、テストスイートの仕様を変更し
スタックGHCiの仕様を試みました:LibSpec.hsはファイル

test-suite spec 
    default-language: Haskell2010 
    ghc-options:   -Wall 
    type:    exitcode-stdio-1.0 
    hs-source-dirs:  test 
    main-is:    LibSpec.hs 
    build-depends:  base 
        , chapterexercises 
        , hspec 
        , QuickCheck 

答えて

13
stack ghci --test 

これは、単一のテストスイートと他の実行可能ファイルがない場合にのみ機能することに注意してください。あなたはスタックがテストを無視しようとしている

stack ghci --test chapterexercises:test:spec 

--testなしで使用する必要があります。この場合、

* * * * * * * * 
The main module to load is ambiguous. Candidates are: 
Package `project' component exe:project-exe with main-is file: T:\project\app\Main.hs 
Package `project' component test:project-test with main-is file: T:\project\test\Spec.hs 
None will be loaded. You can specify which one to pick by: 
1) Specifying targets to stack ghci e.g. stack ghci project:exe:project-exe 
2) Specifying what the main is e.g. stack ghci --main-is project:exe:project-exe 
* * * * * * * *

:そうでなければ、それはあなたに警告を与えます。だからこそあなたはあいまいさのエラーを最初に得られないのです。

+0

また、 'stack ghci --test:spec'は' stack ghci --test chapterexercises:test:spec'の省略形です。 – dcastro

関連する問題