2016-01-01 24 views
11

Tôi đang cố gắng sử dụng ngăn xếp để tải bộ thử nghiệm của mình trong ghci và có tải phụ thuộc QuickCheck và hspec hay không.Haskell Stack Ghci test-suite

Tôi làm cách nào để thực hiện việc này?

Tôi đang sử dụng mẫu franklinchen.
https://github.com/commercialhaskell/stack-templates/blob/master/franklinchen.hsfiles

Tôi đã thử
chồng ghci đặc tả
chồng ghci test-suite
chồng ghci --main-được đặc tả

tôi sửa đổi spec test-suite để nhắm mục tiêu chính là- : nộp 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 

Trả lời

13
stack ghci --test 

Lưu ý rằng điều này sẽ chỉ hoạt động nếu có một bộ thử nghiệm duy nhất và không có tệp thực thi nào khác. Nếu không nó sẽ cung cấp cho bạn một cảnh báo:

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

Trong trường hợp này bạn phải sử dụng

stack ghci --test chapterexercises:test:spec 

Without --test chồng sẽ bỏ qua các bài kiểm tra. Đó là lý do tại sao bạn không nhận được lỗi mơ hồ ở nơi đầu tiên.

+0

Ngoài ra: 'stack ghci --test: spec' là viết tắt của' stack ghci --test chapterexercises: test: spec' – dcastro

Các vấn đề liên quan