問題タブ [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 に答える
2605 参照

haskell - スタックでの HSpec の使用

私は次のアーキテクチャを持っています:


私の .cabal ファイルには次のものが含まれています

しかし、私がするとき

HSpec がテスト int MessageSpec.hs を見つけられません。

0.0002 秒で終了 0 例、0 失敗

Spec.hs は正しい入力です: {-# OPTIONS_GHC -F -pgmF hspec-discover #-}

私のMessageSpecモジュールは公開しています:モジュールMessageSpec(メイン、スペック)。

すべてのテストを実行するスタック プロジェクトを作成する方法を見つけるのを手伝ってくれませんか。

ありがとうございました、

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

haskell - Yesod 仕様内で保留中の仕様を実行する方法

私は Yesod を初めて使用し、保留中の仕様をwithAppブロック内に追加しようとしています (現時点では、Yesod の足場によって生成された仕様を変更しようとしています)。

コードは次のようになります。

appSpec :: Spec appSpec :: withApp $ do describe "getMyHandlerR" $ do it "todo" $ do pending

しかし、次のエラーメッセージが表示されました:

withAppすべてを削除すると動作します。withApp予想されるタイプを何らかの形で変更していることは理解していますが、そうでないのに正しいタイプを持っているのdescribeはなぜですか?itpending

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

haskell - QuickCheck 2 でのテスト データの生成方法の制御

この質問Controlling how test data is generated in QuickCheck に似た問題があります。以下に、私の詳細、使用しているコード、および私が持っている特定の質問を明確にします。

フィボナッチ数列を入力として使用する fizz-buzz プログラムを作成しました。2つのことをテストしたいと思います。(1) 特定の条件を満たす Int を指定すると、プログラムは正しい文字列を出力しますか? (2) 私のフィボナッチジェネレーターはフィボナッチ数を生成していますか?

私が抱えている問題は、上記のリンクに似ています。sの範囲Intが大きすぎます。最初の 1000 個のフィボナッチ数と言うようにテストを制限するにはどうすればよいですか?

これは、適切かつ最小限であると私が考えるコードです。詳しく説明する必要がある場合はお知らせください。

fibbを取り、Intその n 番目のフィボナッチを見つけます。そうfibb 6返しRight 8ます。Left値はこの問題には関係ありません。

私が気づいたのは、 a を記述し、 anewtypeをラップし[Int]て新しいArbitraryインスタンスを作成する必要があるという答えでした。ただし、答えは2012年のものであり、必要なことを実行できるように見えることにも気付きましQuickCheck 2Args datatypeArgsでは、テストの範囲を制限する (最初の 1000 個のフィボナッチ数が必要なだけ)、また実行するテストの数を制限するために、新しい を作成できますか? そうでない場合、上記のリンクの解決策は私が取らなければならないアプローチですか?

プロジェクト全体はこちら

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

haskell - Persistent と Hspec-wai を使用した Scotty

ルートの単体テスト中に問題が発生しました。Scotty、Persistent、および Hspec-WAI。

Yesod や Spock とは異なり、Scotty にはデータベース ハンドラを格納する適切な場所がありません。データベースを起動し、データベース プールをローカル変数として保持し、その変数を使用する 1 つの大規模な "do" を用意することで、機能するようになりました。

しかし、Hspec-WAI は IO 申請フォームでそれを望んでいます。

DB 接続プールを scottyApp に注入する適切な方法はありますか?

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

haskell - HSpec でのテスト スイートのセットアップ

HSpec でテスト スイートを指定するにはどうすればよいですか? モジュールごとに複数のテスト ファイルを作成し、すべてのテストを実行し*.hsたいだけです。stack test設定方法を教えてください。

cabal ファイルに次のようなテスト モジュールをリストしようとしましたが、うまくいきません。

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

haskell - Haskell パイプと HSpec によるテスト

私が大好きな Pipes を使用するプロジェクトのプログラムを作成しました。ただし、コードの単体テストに苦労しています。

Pipe In Out IO ()HSpec でテストしたいタイプ (たとえば) の一連の関数があります。これについてどうすればいいですか?

たとえば、次のドメインがあるとします。

そしてこのパイプ:

仕様を書きたいと思います:

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

haskell - Hspec とスタックで実行するテストを選択します

Hspecの自動スペック検出機能を使用して、一連のテストを作成しました。また、ビルド ツールとしてスタックを使用しています。

テスト ディレクトリにはSpec.hs、アプリケーションのさまざまなモジュールのテスト ファイル (例: ) と共に、ファイルがありModule0Spec.hsますModule1Spec.hs

さて、新しいテスト モジュールの作成を開始するとき、またはコードの変更後に失敗したテストを再実行するとき、特定のテスト モジュールのみを実行できるようにしたいと考えています。

スタックまたは Hspec でこれを行う方法はありますか?