2016-06-04 6 views
0

HSpec에서 테스트 스위트를 어떻게 지정합니까? 각 모듈에 대해 여러 개의 *.hs 테스트 파일을 갖기 때문에 모든 테스트를 실행하려면 stack test을 실행하고 싶습니다. 어떻게 설정해야합니까? HSpec에서 테스트 슈트 설정하기

나는 나의 음모 파일에서이 같은 테스트 모듈을 나열 시도했지만 작동하지 않습니다 :

여기
test-suite foo-test 
    type:    exitcode-stdio-1.0 
    hs-source-dirs:  test 
    main-is:    Spec.hs 
        , Mod1Spec.hs 
    build-depends:  base 
        , containers >= 0.5.6.2 
        , hqfl 
        , hspec >= 2.2.3 
        , hspec >= 2.2.3 
        , mtl >= 2.2.1 
        , pipes >= 4.1.8 
        , random >= 1.1 
    ghc-options:   -threaded -rtsopts -with-rtsopts=-N 
    default-language: Haskell2010 
+0

왜 당신은'stack' 템플릿 중 하나를 사용하지 마십시오 - 또한

여기 작은 hspec 예입니다? - btw : ** 정확히 ** 작동하지 않는 것 - 오류 메시지 나 다른 것이 있습니까? ghci에서 테스트를 실행할 수 있습니까? – Carsten

+0

오류 메시지가 없습니다. 스택 테스트를 실행할 때 모든 사양이 자동으로 실행되기를 원합니다. 현재 필자는 Cabal 파일에 명시된 Spec.h를 제외하고는 다른 스펙을 찾지 못합니다. –

답변

2

이 hspec 테스트에 대한 몇 가지 문서입니다 :

http://hspec.github.io/hspec-discover.html

만약 당신의 메인 사양 모듈에는 다음 라인 만 포함됩니다.

{-# OPTIONS_GHC -F -pgmF hspec-discover #-} 

hspec-discover은 사양 테스트를 위해 디렉토리 트리를 검사합니다.

https://github.com/hspec/hspec-example

+0

예 - 그렇습니다. 업데이트 답변을 삭제 취소했습니다. – ErikR

+0

위 예제를 내 test/Specs.hs 파일에 추가했습니다. 내 Cabal 파일을 Specs.hs를 주 파일로 다시 변경했습니다. 스택 테스트를 실행하면 test/Foo.hs에있는 다른 테스트 모듈을 선택하지 않습니다. –

+0

가 마침내 작동했습니다 - 내 src 디렉토리와 동일한 테스트 디렉토리에 동일한 디렉토리 레이아웃을 가져야했습니다. –