問題タブ [hspec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - yesod-sqlite テンプレートからの「Database.Persist を X の非表示 (取得) としてインポート」はどのように機能しますか?
yesod-sqlite テンプレートを使用しており、テストでget
関数を使用しようとしています。Database.Persist
これが私のコードです:
そして、私が得ているエラー:
TestImport.hs
ファイルには、次の行がありました。
私の理解ではget
、HSpec モジュールから関数を非表示にする必要があるX.get
ため、データベースの取得に使用できます。私も試してみましDatabase.Persist.get
たget
が、同じ結果でした。
だから私の疑問は次のとおりです。その行は何をしているのTestImport.hs
ですか?
haskell - `stack test --test-arguments "-m " の説明""`
他のフォーラム ページhspec
で、コマンドを使用して特定のテストを実行できることを確認しました。
whereは、意図したテストの のテキスト記述子<filter>
と一致するように設定されています。テスト スイート全体を実行することなく、関心のある単一のテストを実行するために、このコマンドを頻繁に使用します。it
しかし、このコマンドがそれをどのように正確に指定しているかはわかりません。たとえば、 はどのような引数で"-m "<filter>""
、「-m」は何を意味するのでしょうか? ここにあるように、他にどのような引数を指定できます"-m "<filter>""
か?
について--test-arguments
、stack test --help | less
言うだけ
これは、スタックを指定してテストのサブセットを実行する方法について見つけた唯一の関連ドキュメントです。
haskell - hspec テスト引数はコマンド ラインでは機能しますが、.hspec ファイルからは機能しません
オプションを Hspec に渡す方法については、hspec のドキュメントに従っています。オプションの指定は、コマンド ラインから渡された場合は期待どおりに機能しますが、.hspec
ファイルまたはその他のリストされたメソッドのいずれかから渡された場合は機能しません。
私のテスト スイートのテストの 1 つは、フィルター「post_returns_200」と一致します。コマンドを介してスイートの残りを実行せずに、このテストを単独で実行できます
リンクされた hspec ドキュメントは、このフィルターをコマンド ラインからだけでなく、.hspec
ファイルから、 内からghci
、または環境変数からも指定できる必要があることを示しています。ただし、ドキュメントに従って他の方法のいずれかでフィルターを指定すると、「認識されないオプション」エラーが発生します。たとえば、.hspec
ファイルでオプションを指定すると、
次に実行stack test
すると、次のものが返されます
環境変数または ghci 内からオプションを指定しようとすると、同様のエラーが発生します。コマンドを指定する方法について、引用符の有無、" --test-arguments=
" の有無など、さまざまなバリエーションを試しましたが、この時点で完全に困惑しています。コマンドラインで指定するとオプションが正しく機能するのに、他の方法では認識されない理由について何か提案はありますか?