問題タブ [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.
unit-testing - テスト中に「beforeAll」によって設定された値にアクセスする
これが私が持っているものです:
のドキュメントでは、仕様ツリーを構築する必要がないため、runIO
おそらく代わりに使用する必要があることが示唆されています。仕様ツリーを作成する必要はなく、各テストを実行するために必要なだけです。私の使用例では、作成するよりも同じマネージャーを共有する方が良いテストごとに新しいもの。beforeAll
manager
スペック ツリーを構築するために IO アクションの結果が必要ない場合は、beforeAll がユース ケースにより適している可能性があります。
しかし、テストからマネージャーにアクセスする方法がわかりません。
haskell - Hspec: 検出、カスタム メイン、仕様への引数の受け渡し
hspec-discover
custom と一緒に使おうとしていますMain
。CustomMain
は、bracket
すべての で使用されるファイル記述子を作成する ですSpec
。
これは私のSpec.hs
です:
これは私のMain.hs
です:
spec
個々の自動検出モジュールでファイル記述子引数を受け入れるには、次のように宣言する必要があります
しかしhspec-discover
、仕様が次のように宣言されることを要求します
そうしないと、自動生成されたモジュールはコンパイルされません。
では、自動検出を妨げずに仕様に引数を渡すにはどうすればよいでしょうか? 私の想像力はIORef
's に向かって流れますが、その考えは私を身震いさせます。それを行う正しい方法は何ですか?
haskell - Aeson または Wai.JSON QuasiQuoter の問題 -- 0.0 を 0 に変換します
Test.Hspec.Wai.JSON
APIエンドポイントの戻り値を確認するために使用しています。の値で json を作成するたび0.0
に、テストの実行時に (Int) に変換され0
、API が を返す0.0
と、テストが失敗することに気付きました。
ライブラリコードのどこでこれが起こっているかを理解するために、私はHaskellでそれほど進んでいません。のソースコードを調べたところ、Test.Hspec.Wai.JSON
依存しているように見えるAeson.QQ
ので、問題の原因がよくわかりません。これはTest.Hspec.Wai.JSON ソースで、これはAeson.QQ ソースです。
このため、私の回避FromJSON
策は、応答全体を解析し、入力されたレコードと照合するインスタンスを作成することでした。これは少し面倒です。
ライブラリコードの何がこれを引き起こしているかについての提案はありますか? そして、それを修正する方法は?
ありがとう、
haskell - Hspec を使用した HUnit テストの実行
仕様内で HUnit テストを実行したい:
上記のコードは機能しますが、次の見苦しい出力が生成されます。
toHit
すべてのテスト ケースにラベルを付けることができますか? このようなもの:
さらに良いのは、各toHit
ケースに番号を追加することです。いじりましたがTestList
、map TestLabel
役に立ちませんでした。
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
。
これをどのように誤って構成しましたか?
haskell - CPP オーバーライドにもかかわらず、hspec が (プライベート) コードの依存関係のインポートに失敗する
次のような src ファイルがあるとします。
.cabal
次のようなファイル:
次のようなマスター テスト ファイル:
そして次のようなテストファイル:
CPP が期待どおりに機能しないのはなぜですか? どうすれば修正できますか?