Haskell Stack Ghci test-suite
Я пытаюсь использовать stack для загрузки моего набора тестов в ghci и загрузить зависимость QuickCheck и hspec.
Как я могу это сделать?
Я использую шаблон franklinchen.
https://github.com/commercialhaskell/stack-templates/blob/master/franklinchen.hsfiles
Я пробовал
stack ghci spec
stack ghci test-suite
стек ghci --main-is spec
Я изменил спецификацию test-suite для таргетинга главное-это: LibSpec.файл УГ
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
стек будет игнорировать тесты. Вот почему вы не получаете ошибку двусмысленности в первую очередь.