問題タブ [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.

0 投票する
1 に答える
363 参照

unit-testing - テスト中に「beforeAll」によって設定された値にアクセスする

これが私が持っているものです:

のドキュメントでは、仕様ツリーを構築する必要がないため、runIOおそらく代わりに使用する必要があることが示唆されています。仕様ツリーを作成する必要はなく、各テストを実行するために必要なだけです。私の使用例では、作成するよりも同じマネージャーを共有する方が良いテストごとに新しいもの。beforeAllmanager

スペック ツリーを構築するために IO アクションの結果が必要ない場合は、beforeAll がユース ケースにより適している可能性があります。

しかし、テストからマネージャーにアクセスする方法がわかりません。

0 投票する
1 に答える
546 参照

haskell - Hspec: 検出、カスタム メイン、仕様への引数の受け渡し

hspec-discovercustom と一緒に使おうとしていますMain。CustomMainは、bracketすべての で使用されるファイル記述子を作成する ですSpec

これは私のSpec.hsです:

これは私のMain.hsです:

spec個々の自動検出モジュールでファイル記述子引数を受け入れるには、次のように宣言する必要があります

しかしhspec-discover、仕様が次のように宣言されることを要求します

そうしないと、自動生成されたモジュールはコンパイルされません。

では、自動検出を妨げずに仕様に引数を渡すにはどうすればよいでしょうか? 私の想像力はIORef's に向かって流れますが、その考えは私を身震いさせます。それを行う正しい方法は何ですか?

0 投票する
1 に答える
111 参照

haskell - Aeson または Wai.JSON QuasiQuoter の問題 -- 0.0 を 0 に変換します

Test.Hspec.Wai.JSONAPIエンドポイントの戻り値を確認するために使用しています。の値で json を作成するたび0.0に、テストの実行時に (Int) に変換され0、API が を返す0.0と、テストが失敗することに気付きました。

ライブラリコードのどこでこれが起こっているかを理解するために、私はHaskellでそれほど進んでいません。のソースコードを調べたところ、Test.Hspec.Wai.JSON依存しているように見えるAeson.QQので、問題の原因がよくわかりません。これはTest.Hspec.Wai.JSON ソースで、これはAeson.QQ ソースです。

このため、私の回避FromJSON策は、応答全体を解析し、入力されたレコードと照合するインスタンスを作成することでした。これは少し面倒です。

ライブラリコードの何がこれを引き起こしているかについての提案はありますか? そして、それを修正する方法は?

ありがとう、

0 投票する
1 に答える
79 参照

haskell - Hspec を使用した HUnit テストの実行

仕様内で HUnit テストを実行したい:

上記のコードは機能しますが、次の見苦しい出力が生成されます。

toHitすべてのテスト ケースにラベルを付けることができますか? このようなもの:

さらに良いのは、各toHitケースに番号を追加することです。いじりましたがTestListmap TestLabel役に立ちませんでした。

0 投票する
2 に答える
146 参照

haskell - テスト用の cabal の設定ミス

私の.cabalファイルには、次の hspec 構成が含まれています。

私のディレクトリ構造は次のとおりです。

を実行するcabal buildと、ソースが正常に実行可能ファイルにビルドされます./dist/build/myproj/myproj

cabal build次に失敗します:

buildディレクトリを調べると、ディレクトリmy-testsが見つからないことがわかります。

を に変更すると、次のhs-source-dirsようになりsrc/tests ます。

すべてのテストをルート/テストの下の最上位に移動し、.cabalファイルを次のように変更すると、次のようになりますhs-source-dirs: tests

これをどのように誤って構成しましたか?

0 投票する
2 に答える
77 参照

haskell - CPP オーバーライドにもかかわらず、hspec が (プライベート) コードの依存関係のインポートに失敗する

次のような src ファイルがあるとします。

.cabal次のようなファイル:

次のようなマスター テスト ファイル:

そして次のようなテストファイル:

CPP が期待どおりに機能しないのはなぜですか? どうすれば修正できますか?