問題タブ [midje]
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 - ミジェ・ファクトの動的に計算された説明
このように、いくつかの一般的な事実を因数分解する関数を書きたい
しかし、それは事実の説明として「42 奇数ではない」という結果にはなりません。同様の効果が表形式の事実で達成できることは知っていますが、そのような事実を事実グループ間で共有できるようにしたいと考えています。
unit-testing - midje を使用して、slingshot の throw+ を使用してスローする関数をモックできないのはなぜですか?
状況は次のとおりです: 関数 B を呼び出す関数 A を単体テストしようとしています。関数 B を midje テストでモックして、try+ ブロックの catch が実際にキャッチするものを返すようにしたいと考えています。しかし、投げるのに適したものを作成できないようです。コードとテストの大幅な簡略化されたスケッチを次に示します。
私がスローしている ExceptionInfo は、ほぼ正しいようです。これは、アプリケーションが多数の prn ステートメントを実行しているときに確認できます。しかし、私が何をしようとしても、テストを機能させることができません。
また、問題を理解できるかどうかを確認するために、repl で以下のコードを少し試しました。ただし、コードの両方の部分には同一の例外が含まれているように見えますが、1 つ (純粋なスリングショットのもの) だけが「キャッチされた」をキャッチして出力することができます。一方が機能し、他方が機能しない理由を理解できれば、単体テストで問題を解決できると思います。
unit-testing - Clojure 単体テスト : 関数が呼び出されたかどうかを確認する
clojure 関数の単体テストを書き込もうとしています (clojure.test を使用していますが、必要に応じて midje に切り替えることができます)。
次のような関数があります。
この機能を単体テストするとき、次のテストケースを書きたいと思います:
関数 generate-sky-nodes が呼び出されたことをどのように主張できますか? か否か ?私は C# または Java でモック フレームワークを使用しますが、clojure については知りません。
unit-testing - ファイルシステム コードのテスト
Midje を使用した単体テストは素晴らしい経験ですが、ファイルシステムとやり取りするコードをテストする必要があります。具体的には、コードはローカル ディレクトリ レイアウトからデータ構造表現を構築します。
頭に浮かぶのは、/tmp にディレクトリとファイルを作成することです。これらは、テスト後にクリーンアップする必要があります。私はおそらくそれを機能させることができましたが、それを行うための正しい方法があれば、はるかに良いでしょう.
Clojureまたはより一般的に、ファイルシステムコードをテストするための推奨される方法は何ですか?
intellij-idea - leiningen midje テストが Intellij で機能しない
次の(最小限の)leiningenプロジェクトを検討してください
./project.clj:
./repro/src/repro/core.clj:
./repro/test/repro/core_test.clj:
leiningen midje プラグインがインストールされている場合、コマンド プロンプトで次のように実行されます。
ただし、leiningen プロジェクトを Intellij 12.1.5 Community Edition にインポートすると、ファット スタック トレースが表示されます。
La Clojure + Intellij が midje の前提条件の一部を見つけられないように見えますが、これは奇妙です。なぜなら、La Clojure は leiningen.m2
ディレクトリからクラスパスを実行しているためです。
Intellij 用の midje プラグインを探しましたが、今のところ運がありません。
私は emacs + leiningen だけを使用して満足していますが、私のチームは Intellij を望んでいるので、これが必要です。
clojure - Lein Midje : autotest スロー例外 (名前空間が見つかりません)
midje の自動テストをセットアップしようとしています。現在、実行中の lein midje は動作します。ただし、 lein midje :autottest を実行すると、以下のスタック トレースが表示されます。
さまざまな名前空間を実行すると、それらはすべてコンパイルされます
unit-testing - Midje でのプロトコル実装のモック
「提供された」構文のようなものを使用して、Midje (clojure) でプロトコル関数を (スタブではなく) モックする方法はありますか?
これは、Mocking Clojure protocolsの質問と似ていますが、モックを使用しています。
詳細: プロトコルと、それを実装するものを返す関数があります。プロトコルのモックを返す関数をスタブ化し、モックされたプロトコルの「実装」の関数の 1 つに期待を登録したいと思います。
編集 - ここに例があります:
プロトコルがあり、その実装は次のとおりです。
プロトコルの実装を返す関数があります。
TheThingは、DB やネットワーク接続、またはテストで取り除きたいその他の厄介なものである可能性があります。
次に、テストしたい関数があります:
nでgo-bumpを呼び出すようにしたい。
これは、テストを作成する最初の試みです。gimmeによって返されるThinyに対する期待値を設定したいと思います。
unit-testing - clojureで先物をテストするにはどうすればよいですか?
midje を使用して未来をテストしようとしていますが、機能しないようです。
コードは次のようになります
のようなテストで
これは、バーが呼び出されないことを示して失敗します。これを回避する方法はありますか?
clojure - Clojure と Midje では、間接呼び出しの前提条件をどのように記述できますか?
次のコードでは、bar 関数を実装する前に foo 関数をテストしたいと思います。
しかし、ミジェは次のように述べています。
foo がバーを直接呼び出していないため、'provided' はバー関数をフックできないと考えました。しかし、次のように 2 行目を変更したかどうかもわかりました。
その後、テストは成功しました。
最初のバージョンで成功する方法はありますか?
ありがとう。
PS: Clojure 1.5.1 と Midje 1.5.1 を使用しています。
clojure - let 句で提供される midje を使用してもメソッドはスタブされない
外部の let 句を使用していくつかの定義と呼び出しを構造化するテストを作成すると、スタブが期待どおりに機能しません。例えば:
このテストは失敗します
このコードで
let
midje を含むステートメントを使用することは想定されていませんか? を削除せずにこれらを渡す方法がわかりませんlet
。