オプションを Hspec に渡す方法については、hspec のドキュメントに従っています。オプションの指定は、コマンド ラインから渡された場合は期待どおりに機能しますが、.hspec
ファイルまたはその他のリストされたメソッドのいずれかから渡された場合は機能しません。
私のテスト スイートのテストの 1 つは、フィルター「post_returns_200」と一致します。コマンドを介してスイートの残りを実行せずに、このテストを単独で実行できます
stack test --test-arguments=--match="post_returns_200"
リンクされた hspec ドキュメントは、このフィルターをコマンド ラインからだけでなく、.hspec
ファイルから、 内からghci
、または環境変数からも指定できる必要があることを示しています。ただし、ドキュメントに従って他の方法のいずれかでフィルターを指定すると、「認識されないオプション」エラーが発生します。たとえば、.hspec
ファイルでオプションを指定すると、
$ echo --match="post_returns_200">>.hspec
次に実行stack test
すると、次のものが返されます
$ 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
環境変数または ghci 内からオプションを指定しようとすると、同様のエラーが発生します。コマンドを指定する方法について、引用符の有無、" --test-arguments=
" の有無など、さまざまなバリエーションを試しましたが、この時点で完全に困惑しています。コマンドラインで指定するとオプションが正しく機能するのに、他の方法では認識されない理由について何か提案はありますか?