2017-09-07 13 views
1

Hspec에 옵션을 전달할 때 hspec documentation 다음을 수행하고 있습니다. 내 옵션 지정은 명령 줄에서 전달할 때 예상대로 작동하지만 .hspec 파일이나 다른 나열된 방법에서 전달 된 경우에는 작동하지 않습니다.hspec 테스트 인수가 명령 줄에서 작동하지만 .hspec 파일에서 작동하지 않습니다.

내 테스트 스위트 중 하나의 테스트는 "post_returns_200"필터와 일치합니다. 나는

stack test --test-arguments=--match="post_returns_200" 

링크 된 hspec 문서 내가이 필터를 지정할 수 있어야한다는 표시 명령을 통해 제품군의 나머지 부분을 실행하지 않고 혼자 테스트를 실행할 수뿐만 아니라 명령 줄에서뿐만 아니라 :에서 .hspec 파일, ghci 또는 환경 변수에서. 그러나 문서를 따라 다른 방법 중 하나를 사용하여 필터를 지정하면 "인식 할 수없는 옵션"오류가 발생합니다. 예를 들어, 때 나는 내가 ghci 내에서 환경 변수를 통해 또는에서 옵션을 지정하려고하면 다음

$ stack test 
azara-api-0.1.0.0: test (suite: azara-test) 

azara-test: unrecognized option `--match="post_returns_200"' in config file /home/matthew/backup/azara_work/platform/api/.hspec 

Test suite failure for package azara-api-0.1.0.0 
    azara-test: exited with: ExitFailure 1 
Logs printed to console 

다음 stack test 반환을 실행

$ echo --match="post_returns_200">>.hspec 

를 통해 .hspec 파일에 옵션을 지정 유사한 오류가 발생합니다. 명령을 지정하는 방법에 대한 다양한 변형을 시도했습니다 (예 : "--test-arguments="의 유무에 관계없이 따옴표를 포함하거나 포함하지 않더라도이 시점에서 완전히 혼란 스럽습니다. 명령 줄을 통해 지정되었을 때 옵션이 제대로 작동하지만 다른 방법으로는 인식되지 않는 이유에 대한 제안?

+0

'$ echo --match = post_returns_200> .hspec'을 사용해 보셨습니까? ('-'= 'post_returns_200'' 행을 포함하고 있기 때문에 파일을 덧붙이는 대신'>'를 사용하여 파일을 덮어 씁니다.) –

+0

@ M.Aroosi 예, 그것을 시도하고 같은 오류가 발생합니다. '.hspec' 파일에서'--match = post_returns_200'라는 단 한 줄만 쓰면 에러가 나옵니다. – mherzl

답변

1

내가 무시하는 이유 때문에 hspec은 명령 줄 및 구성 파일에서 다른 옵션 집합을 인식합니다.

지금까지 --match을 hspec에 전달하는 유일한 방법은 명시 적 명령 줄 인수 (스택 사용시 --test-arguments 통해)입니다. 2.4.4의 소스 코드에서


(현재 활성 분기에 많이 변경되었습니다,하지만 여전히 당신도 원하는 것을 허용하지 않습니다) :