問題タブ [hunit]
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.
testing - パラメータ化されたタイプでassertEqualを操作する方法
HUnitを使用して、TDD方式でRealWorldHaskellの演習を実行しようとしています。ご想像のとおり、私はまだ遠くまで来ていないので、Haskellに関しては絶対的な初心者です。次のコードが与えられた場合、ghciが生成する次のエラーをどのように解決できますか?
あいまいな型変数List_Test.hs:6:27-58での `assertEqual'の使用から生じるEqa'の使用から生じる'を表示します。考えられる修正:これらの型変数を修正する型シグネチャを追加します
a' in the constraints:
。assertEqual' at List_Test.hs:6:27-58
List_Test.hs:
List.hs:
List宣言とtoList定義の両方に型制約を追加しようとしましたが、成功しませんでした。インターネット検索でも情報は得られませんでした。
haskell - サブディレクトリにモジュールをインポートするHaskell構文は何ですか?
別のディレクトリにモジュールをインポートするためのHaskellの構文は何ですか?
Haskell を使い始めたばかりで、HUnit を使用して TDD スタイルの単純な関数を書く練習をしたいと思っています。ただし、ファイルの構造を理解するのに苦労しています。HUnit に付属する例は、フラットなディレクトリ構造のようです。
テストと HUnit コードを実際のコードとは別のフォルダーに配置したいと考えています。import ステートメントの簡単な例と、ファイルをどのように構成するかについての提案をいただければ幸いです。
それが問題であれば、私は今、GHCi と NotePad++ を使用してコーディングを行っています。
haskell - 型エラーのある HUnit TestCase
LISP に似た関数を書きましたflatten
:
次の 2 つのテスト ケースは正常に動作します。
ただし、これは型エラーを報告します:
REPL からのテストは正常に機能します。
エラーが発生するのはなぜですか? また、空のリストのテスト ケースはどのように作成すればよいですか?
編集:正確なエラーメッセージは次のとおりです。
exception - 最適化とエラー呼び出しのテストの間の相互作用
モジュールに次のような関数があります。
もちろん、または他のバリアントを返すこともできMaybe String
ますが、この関数を負の数で呼び出すのはプログラマーのエラーであると言っても過言ではないので、error
ここで使用することは正当化されます。
ここで、テスト カバレッジを 100% にしたいので、この動作をチェックするテスト ケースが必要です。私はこれを試しました
ある程度は機能しますが、最適化を使用してコンパイルすると失敗します。
ここで何が起こっているのかわかりません。を使用しているにもかかわらずevaluate
、関数が評価されないようです。また、次のいずれかの手順を実行すると、再び機能します。
- HUnit を削除してコードを直接呼び出す
throwIfNegative
テストケースと同じモジュールに移動- の型シグネチャを削除します
throwIfNegative
これは、最適化が異なる方法で適用されるためだと思います。ポインタはありますか?
haskell - 継続的インテグレーションを備えたHUnit/QuickCheck
Bambooのような継続的インテグレーションシステムがテスト結果の詳細なレポートを実行できるようにするHUnitまたはQuickCheckの拡張機能はありますか?
これまでのところ、私の最善のアイデアは、ビルドスクリプトの一部としてテストをトリガーし、ゼロ以外の終了コードで失敗するテストに依存することです。これは、テストが失敗したときに注意を引くのに効果的ですが、ビルドの失敗とテストの失敗を混同し、問題の原因を特定するためにコンソール出力をたどる必要があります。
これが現在のツールで最適なオプションである場合、私の考えは、 JUnit XML形式で出力を生成するHUnitのレポートモジュールを作成し、JavaプロジェクトについてレポートするかのようにCIツールをそのモジュールに向けることです。ただし、これはややハックなように思われるので、既存のオプションと新しい開発の方向性の両方について考えていただければ幸いです。
macos - HUnit が Mac にインポートされない
Haskell Platform for Max OSX の新規インストールで、インタープリターimport Test.HUnit
を使用して実行すると、次のコードが失敗します。runghc
ただし、ghci を使用する場合は、単純なimport Test.HUnit
作業を行うだけで問題なく動作します。
ghc
コマンドラインとghci
REPLの間のこの不一致を解決するにはどうすればよいですか?
haskell - 単体テストと Haskell の Cabal の統合の現状は?
単体テストをcabalファイルと統合する方法をグーグルで検索すると、次のいずれかが見つかります
- http://www.haskell.org/haskellwiki/How_to_write_a_Haskell_program HUnit/QuickCheck と Cabal ファイルの統合について説明していないようです
- または、「cabal テストをサポートする Cabal xy を待ちます」のようなメッセージが表示されますが、これに関するドキュメントが見つかりません
今日、cabal を使用してすべての単体テストをどのように実行しますか (たとえば、「cabal ビルド」を行うたびに)?
haskell - HUnit を ghci にインポートできません
HUnit をインストールしたばかりで、それを ghci にインポートしたいと考えています。
また、私-v
を助けるために を使用する方法がわかりません。
どうすればインポートできますか?
haskell - YesodプロジェクトにHUnitを追加する方法
私はYesodの初心者であり、Cablalの経験がありません-新しいYesodプロジェクトを初期化するためにスキャフォールディングツールを使用し、いくつかのハンドラーやその他のコードを記述しましたが、現在、いくつかのHUnitテストを追加するのに苦労しています-これをどのように行うか最良の方法?カバールのテストスイートオプションを使用していますか?はいの場合、どのくらい正確に?.cabalファイルのいくつかの例とテストの実行方法が役立ちます。
haskell - その中の関数名を取得する
method1
次のような関数がたくさんありmethod2
ますmethod3
。それらすべてに対して、 、、 のHUnit
ようなテスト関数があります。testMethod1
testMethod2
testMethod3
エラーメッセージのプレフィックスとして関数の名前を重複してコピーすることを避け、次のように呼びたいと思います。
どのようにそれを達成できますか(「魔法の」トリックは大歓迎です)?
実際の問題は、関数名をその定義内でどのように使用できるかということです。
更新します。
元の質問からは実際には明らかではありませんが、そのような状況にも対処したいのです。
最後に、次のように書きたいと思います。