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

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

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定義の両方に型制約を追加しようとしましたが、成功しませんでした。インターネット検索でも情報は得られませんでした。

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

haskell - サブディレクトリにモジュールをインポートするHaskell構文は何ですか?

別のディレクトリにモジュールをインポートするためのHaskellの構文は何ですか?

Haskell を使い始めたばかりで、HUnit を使用して TDD スタイルの単純な関数を書く練習をしたいと思っています。ただし、ファイルの構造を理解するのに苦労しています。HUnit に付属する例は、フラットなディレクトリ構造のようです。

テストと HUnit コードを実際のコードとは別のフォルダーに配置したいと考えています。import ステートメントの簡単な例と、ファイルをどのように構成するかについての提案をいただければ幸いです。

それが問題であれば、私は今、GHCi と NotePad++ を使用してコーディングを行っています。

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

haskell - 型エラーのある HUnit TestCase

LISP に似た関数を書きましたflatten:

次の 2 つのテスト ケースは正常に動作します。

ただし、これは型エラーを報告します:

REPL からのテストは正常に機能します。

エラーが発生するのはなぜですか? また、空のリストのテスト ケースはどのように作成すればよいですか?

編集:正確なエラーメッセージは次のとおりです。

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

exception - 最適化とエラー呼び出しのテストの間の相互作用

モジュールに次のような関数があります。

もちろん、または他のバリアントを返すこともできMaybe Stringますが、この関数を負の数で呼び出すのはプログラマーのエラーであると言っても過言ではないので、errorここで使用することは正当化されます。

ここで、テスト カバレッジを 100% にしたいので、この動作をチェックするテスト ケースが必要です。私はこれを試しました

ある程度は機能しますが、最適化を使用してコンパイルすると失敗します。

ここで何が起こっているのかわかりません。を使用しているにもかかわらずevaluate、関数が評価されないようです。また、次のいずれかの手順を実行すると、再び機能します。

  • HUnit を削除してコードを直接呼び出す
  • throwIfNegativeテストケースと同じモジュールに移動
  • の型シグネチャを削除しますthrowIfNegative

これは、最適化が異なる方法で適用されるためだと思います。ポインタはありますか?

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

haskell - 継続的インテグレーションを備えたHUnit/QuickCheck

Bambooのような継続的インテグレーションシステムがテスト結果の詳細なレポートを実行できるようにするHUnitまたはQuickCheckの拡張機能はありますか?

これまでのところ、私の最善のアイデアは、ビルドスクリプトの一部としてテストをトリガーし、ゼロ以外の終了コードで失敗するテストに依存することです。これは、テストが失敗したときに注意を引くのに効果的ですが、ビルドの失敗とテストの失敗を混同し、問題の原因を特定するためにコンソール出力をたどる必要があります。

これが現在のツールで最適なオプションである場合、私の考えは、 JUnit XML形式で出力を生成するHUnitのレポートモジュールを作成し、JavaプロジェクトについてレポートするかのようにCIツールをそのモジュールに向けることです。ただし、これはややハックなように思われるので、既存のオプションと新しい開発の方向性の両方について考えていただければ幸いです。

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

macos - HUnit が Mac にインポートされない

Haskell Platform for Max OSX の新規インストールで、インタープリターimport Test.HUnitを使用して実行すると、次のコードが失敗します。runghc

ただし、ghci を使用する場合は、単純なimport Test.HUnit作業を行うだけで問題なく動作します。

ghcコマンドラインとghciREPLの間のこの不一致を解決するにはどうすればよいですか?

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

haskell - 単体テストと Haskell の Cabal の統合の現状は?

単体テストをcabalファイルと統合する方法をグーグルで検索すると、次のいずれかが見つかります

  • http://www.haskell.org/haskellwiki/How_to_write_a_Haskell_program HUnit/QuickCheck と Cabal ファイルの統合について説明していないようです
  • または、「cabal テストをサポートする Cabal xy を待ちます」のようなメッセージが表示されますが、これに関するドキュメントが見つかりません

今日、cabal を使用してすべての単体テストをどのように実行しますか (たとえば、「cabal ビルド」を行うたびに)?

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

haskell - HUnit を ghci にインポートできません

HUnit をインストールしたばかりで、それを ghci にインポートしたいと考えています。

また、私-vを助けるために を使用する方法がわかりません。

どうすればインポートできますか?

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

haskell - YesodプロジェクトにHUnitを追加する方法

私はYesodの初心者であり、Cablalの経験がありません-新しいYesodプロジェクトを初期化するためにスキャフォールディングツールを使用し、いくつかのハンドラーやその他のコードを記述しましたが、現在、いくつかのHUnitテストを追加するのに苦労しています-これをどのように行うか最良の方法?カバールのテストスイートオプションを使用していますか?はいの場合、どのくらい正確に?.cabalファイルのいくつかの例とテストの実行方法が役立ちます。

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

haskell - その中の関数名を取得する

method1次のような関数がたくさんありmethod2ますmethod3。それらすべてに対して、 、、 のHUnitようなテスト関数があります。testMethod1testMethod2testMethod3

エラーメッセージのプレフィックスとして関数の名前を重複してコピーすることを避け、次のように呼びたいと思います。

どのようにそれを達成できますか(「魔法の」トリックは大歓迎です)?

実際の問題は、関数名をその定義内でどのように使用できるかということです。


更新します

元の質問からは実際には明らかではありませんが、そのような状況にも対処したいのです。

最後に、次のように書きたいと思います。