Набор тестов Haskell Stack Ghci

Я пытаюсь использовать стек для загрузки моего тестового набора в ghci и загружать его в зависимости от QuickCheck и hspec.

Как я могу это сделать?

Я использую шаблон franklinchen.

https://github.com/commercialhaskell/stack-templates/blob/master/franklinchen.hsfiles

Я пробовал
стек ghci spec
стек ghci test-suite
stack ghci --main-spec spec

Я изменил спецификацию тестового набора, чтобы настроить основной файл: 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

Ответ 1

stack ghci --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
* * * * * * * *

В этом случае вы должны использовать

stack ghci --test chapterexercises:test:spec

Без --test стек будет игнорировать тесты. Вот почему вы не получаете ошибку двусмысленности в первую очередь.