問題タブ [stub]

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 に答える
400 参照

unit-testing - ゲッター/セッターのユニットテストでRhino-mocksを使用するにはどうすればよいですか?

私は現在Rhino-mocksを学んでおり、ユニットテストとモックの境界線を混乱させていると思います。以下の例では、Get()をテストしようとしている読み取り専用のCount()プロパティがあります(説明のみを目的とした非常に工夫された例)。Assert.AreEqualのコメントが示すように、Count()プロパティの結果は3であるはずなのに2です。

私の質問は、Rhino-mocksを使用して実際にオブジェクト(この場合は読み取り専用プロパティ)をスタブし、モックIProductオブジェクトのget_Count()プロパティのロジックをテストできますか?

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

ruby-on-rails - RSpec2: 別のメソッドによって呼び出されたメソッドをスタブ化する

rspec2 と rails 3 に問題があります。スタブ化されたメソッドは、同じクラスのメソッドによって呼び出された場合ではなく、直接呼び出した場合にのみ呼び出されます。

これは私のモデルです:

仕様では、新しい場所を作成した後、それをスタブします。

そして、私は呼び出します:

常に true を返します end ログ「REAL choose_a_winner_for_attack」は表示されません。

しかし、私が電話した場合:

実際のメソッド「choose_a_winner_for_attack」を呼び出します(ログ「REAL choose_a_winner_for_attack」が表示されます)。

UPDATE これは仕様のコードです:

ここに問題があります。スタブ化されたメソッドが呼び出されることを期待していました。

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

java - 単体テスト用のサードパーティ ライブラリのスタブ クラスの生成

SWT ライブラリの拡張機能で単体テストを行おうとしています。ウィジェットを設計するために拡張しているクラスを効果的にモックおよびスタブ化する方法を理解するのに苦労しています。

これまでに考えた最善の解決策は、テスト ソースで SWT クラスを再定義して、実際の SWT ライブラリの上にロードされるようにすることです。次に、必要なことをスタブ メソッドに実行させることができます。

このメソッドで現在私が抱えている唯一の問題は、Control.java のようなクラス ファイルが 8K 行を超えており、各メソッドをスタブ化したいため、基盤となる OS の GUI API にアクセスしようとするコードを効率的に削除する方法がないことです。これらのコード行を実行したくありません。

確かに私がひどく間違っていることがあるに違いありません、助けてください!

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

ruby - ライブラリ/gemがrspecのスタブによって定義されているかどうかを明示的にテストしますか?

私は非常に小さなgemを作成して、画像データ形式を読み取り、a)narrayが要求されているかどうか、b)narray gemが利用可能かどうかに応じて、退屈なルビー配列または素敵なnarrayとして画像を返します。必要。私の設計では、誰かがnarrayを使用したい場合は使用できますが、事前に明示的に要求する必要があります。画像データを読み取るとき、narrayが定義されているかどうかを確認し(必須)、後で印刷/ログ記録するためにmsgインスタンス変数に警告を追加するだけです。

このテストを含めたいのですが(モックにrspec2とmochaを使用しています)、実際にrspecを使用するのは少し新しいです。私は次のようなことをしたいと思います:

...しかし、このスタブは定義済みの動作を変更しないため、スタブを使用するポイントを見逃しているに違いありません。スタブに関係なく、定義されていますか?「実際の」値を返します(つまり、コードでrequireのコメントを外すと、defined?はfalseになり、警告が正常に追加されます)。

これはテストする価値さえありませんか?これを行うためのより良い方法はありますか?どんな考えでもいただければ幸いです。ありがとう、

0 投票する
4 に答える
3349 参照

c - 単体テスト スタブ C ヘルパー メソッド

同じ C ファイル内にあるヘルパー メソッドをスタブ化する方法を探しています。ソースファイルを変更せずにこれを行う方法はありますか? メソッドを#defineメソッドに置き換えるという意味で何か考えていたのですが、これはメソッドの名前を変更することになると思いますbb_stubb

使用例を次に示します。

テスト フレームワークを作成しようとしていますが、フレームワークとスタブの定義を含む 1 つのファイルのみをユーザーに含めてもらいたいと考えています。

ありがとう。

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

mocking - RhinoMocksの一般的なモックの作成

非常によく似た機能を持ついくつかの異なるクラスをテストする必要があります。

それらはすべて異なるインターフェースで注入され、これらのインターフェースにはすべて、このシグネチャを持つ1つ以上のメソッドがあります。

文字列DoSomething1(文字列);

テスト対象のクラスの多くはこれらのインターフェイスメソッドを呼び出します。null、空の文字列を返し、例外をスローした場合に、それらがどのように応答するかをテストする必要があります。つまり、クラスが1つしかない場合は、次のテストを行います。

現在、ICarDBCorrectorにはそのようなメソッドがさらに2つあり、テストコードを複製したくないと思います。

また、同様のIDbXXXインターフェイスを使用して仕事をする他のComponentCorrectorクラスはほとんどありません。

そこで、適切なスタブモックを返して使用できるジェネリックメソッドを作成することを考えていましたが、これを正確に行う方法がわかりません。

つまり、次のようなものが欲しいのです。

これにアプローチする方法はありますか?

ありがとう

更新:問題の解決策を見つけました。しかし、より「科学的な」答えを得るために、私は当初意図したように、ジェネリックメソッドのソリューションを使用した応答を希望します。ちょっと興味があるんだけど。「承認済みの回答」マークを自分の回答から他の回答に変更します。これにより、別の興味深い解決策が提供されます。

0 投票する
6 に答える
2096 参照

java - Java の SQL サーバー スタブ

JDBC ドライバーを介して MSSQL サーバーを使用する Java アプリケーションがあります。テストに使用できるスタブはありますか? たとえば、アプリケーションが接続エラー、SQL サーバーのディスク不足、およびその他の例外のケースをどのように処理するかをテストしたいと考えています。これを実際の SQL サーバーでシミュレートするのはかなり難しく複雑です。

ありがとう

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

ruby-on-rails - rspec スタブ current_company

現在選択されている会社をセッション変数に保存したいRails 3プロジェクトがあります。

私はスタッフ コントローラーの仕様に取り組んでおり、スタッフの新しいコントローラー アクションの仕様の例を分離しているため、現在の会社をスタブアウトしたいと考えています。

スタッフコントローラーの新しいアクションは次のとおりです

エラーが発生し続けます

また、 should_receive を使用する代わりにスタブアウトしようとしました

同じエラーが発生します。

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

rspec - Rspec コントローラー テストでコントローラー アクションをスタブしますが、まだ実行されています

before_filter でリダイレクトが発生することなく、コントローラー アクションが実際に呼び出されるかどうかをテストしたいと思います。コントローラー アクション自体がリダイレクトを実行する可能性があるため、アクションをスタブして特定のエラー (SuccessfulActionError など) を発生させ、メソッドが呼び出されたことを示すインジケーターとしてそのエラーをチェックします。

だから私は以下を追加しました:

何らかの形で機能し、例外が発生していますが、メソッド内の実際のコードは引き続き実行されます (たとえば、存在しないレコードの ID を「表示」アクションに送信すると、ActiveRecord::RecordNotFound 例外がスローされます) )。

何故ですか?として実装されているかのように、アクションを完全にスタブしたい

私は何を間違っていますか?これは間違ったアプローチですか?

編集:

使用する

どちらも機能しません。

ApplicationController から取得されない default_url_options を修正するために、このように before_all フィルターで Controller を上書きします。

それが犯人でしょうか?残念ながら、それを削除すると、仕様はまったく機能しません。

0 投票する
0 に答える
890 参照

linux - EC2、EBS、および S3 を使用して Amazon で貧乏人の HSM である ext3 にスタブ ファイルを作成する -

全て -

私は、Amazon のファイル サーバー用に貧弱な階層型ストレージ管理ソリューションの作成に取り組んでいます。私がやりたいことは、EC2 のファイル サーバーから atime > 30 日で S3 にファイルを移動し、スタブ ファイルを残すことです。ユーザーが POSIX 標準コマンドを使用して、ファイルがホストにコピーされ、そこで操作されるような方法でファイルにアクセスしようとすると、この操作は遅くなる以外は、ユーザーに対して透過的である必要があります。ユーザーがスタブ ファイルにアクセスしたときに、スタブ ファイルに完全なファイルを透過的にコピーできると思いますか?

私は ext3 を使用していますが、ファイル システムのスタブ ファイルの作成に関する情報が見つかりません。または、S3 内の実際のファイルへの「パス」として (python|bash) の数行を使用できるかどうかもわかりません。

私のもう1つのオプションは、ファイルサーバーにPOSIX <--> S3ファイルシステムをマウントすることです.S3QL [2]またはS3FS [3]が良い選択のようです. スタブ ファイルの作成にはまだ手を貸す必要がありますが、少なくともこの方法では、スタブ ファイルのターゲットは同じサーバー上の POSIX ファイル システム上にあります。S3QL または S3FS で POSIX <--> S3 インターフェイスを処理します。

私が必要としているのは、適切なスタブ ファイル HOWTO だけかもしれませんが、何か助けがあれば大歓迎です。

[1] http://code.google.com/p/s3ql/

[2] http://code.google.com/p/s3fs/wiki/FuseOverAmazon