問題タブ [stubs]
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.
java - クライアント側の例外を伴う単純な RMI アプリケーション
Java 8 を使用し、単純な RMI アプリケーションを作成しましたが、理解できないクライアント側の例外があります。Eclipse を使用すると、アプリケーションの構造は次のようになります。
コードは次のとおりです。
InterfacciaMyClassServer.java
ImplementazioneMyClassServer.java
MainServer.java
MainClient.java
動的スタブ クラスをダウンロードしたくありません。そのため、クラス スタブとスケルを取得し、スタブ クラスを bin\client にコピーしました。スタブ クラスとスケル クラスを取得するために、次の手順に従いました。
アプリケーション全体を実行するには、次の手順に従いました。
prompt1:
そして私は正しく得ました:
prompt2:
私が例外を得た場所:
例外は MainClient の 18 行目ですが、何が問題なのかわかりません。
c# - いつモック対スタブを使用するか、またはどちらも使用しないか?
私はモックとスタブ、それらの違いと用途について読んでいます。私はまだ少し混乱していますが、私はそれの要点を持っていると思います.
今、私はアプリケーションについて疑問に思っています。実際のオブジェクトが複雑すぎて 1 つの側面をテストするには移動できないようなテスト シナリオで、「偽の」オブジェクトを作成する際に使用されることがわかります。
しかし、私のアプリケーションを考えてみましょう: 私は計算幾何学ライブラリに取り組んでいます。私たちのライブラリは、点、線、線分、ベクトル、多角形、多面体、およびその他のオブジェクトの束とすべての通常の幾何学的操作を定義します。特定のオブジェクトは、ポイントまたは方向のリスト、または下位レベルのオブジェクトとして保存されます。しかし、これらのオブジェクトの生成に数ミリ秒以上かかるものはありません。
このライブラリをテストしているとき、どこでもモック/スタブを使用するのは理にかなっていますか?
現在、特定のテストケースのみを使用しています。私たちはそれらをスタブと呼んでいますが、スタブの技術的な定義を満たしていないと思います。そのためのより良い語彙は何だと思いますか? 「テストケース」?「例」?
ソースコード: https://bitbucket.org/Clearspan/geometry-class-library/src
編集: すべてのジオメトリ オブジェクトで不変性を目指していることに注意してください。そのため、操作の結果をテストするだけで意味があり、初期オブジェクトへの状態の変更は意味がありません。
android - スタブ、mockito「モック」クラス、Robolectric「シャドウ」オブジェクトの違い
これらは明らかに関連しており、いくつかの類似点がありますが、何がそれらを区別しているのかはわかりません. Robolectric のドキュメントでは、Shadow クラスは Mock または Stub クラスではないことが強調されています。これらはどのように異なり、それぞれどのように使用されますか?
注:この場合、実用的な例(「モッククラスを使用してそのようなものをテストしますが、そのようなもののためにシャドウクラスではテストできませんでした」)は、単なる概要以上のものだと思います特に有用で実例となるでしょう。
ruby-on-rails - ruby on railsでスタブとモックを使ってポストメソッドを呼び出す方法
rspecでのこのモックとスタブは初めてです。実際、私のコントローラーには、アクション メソッドの招待があります。コントローラーでこの招待メソッドをモック/スタブしたいと思います....以下は私のコードです:
Patient_enrollment は、招待アクション (Post メソッド経由) が受け入れるパラメーターであり、return_enrollment を返すようにしたい...
java - 基本的な Java Maven プロジェクトでのスタブの使用
-main および -test ディレクトリというフォルダー構造を持つ基本的な Maven プロジェクトがあります。
メイン ソース ディレクトリに 1 つのパッケージがあり、これはいくつかのクラス (a.class、b.class、c.class など) で構成され、すべて同じパッケージの下にあります。すべてのクラスには相互に依存関係があります。適切な単体テストを行い、各クラスから依存関係を切り離すために、a、b、c の各クラスのスタブ クラスを作成し、同じパッケージを持つように定義して、テスト ソース ディレクトリ内に配置します。次に実行します: mvn test
スタブはクラスパスから最初に検出されて使用されるようになりましたが、クラス a をテストするときに元の a.class とスタブを b に使用する必要があるように、クラスパスを (その場で?) 変更したいと考えています。 .class および c.class。同様に、クラス b をテストするときは、元のクラス b と、a.class および c.class に使用されるスタブが必要です。
Maven と JUnit を使用してこれを達成するにはどうすればよいですか?
C++ では、メイクファイルのソース パスとユーザー定義のインクルード パスを単体テスト ヘッダー ファイルで使用して、最初にスタブを強制的に検出し、次にテスト対象の元のクラスにインクルードを明示的に追加できるため、これは Java ではややイライラします。 .
unit-testing - 1 つのフェイクをモックとスタブの両方として使用する
私は単体テストに精通しており、モックとスタブの違いを理解しています。Roy Osherove による最も簡単な説明は、すべての偽物は、あなたがそれらに対してアサートするまではスタブとして始まり、その後それらはモックになるというものです。
繰り返しますが、私はそれをすべて理解しています。私の質問は、「単一の偽のインスタンスをモックとスタブの両方として使用するのは間違っていますか? Rhino Mocks のドキュメント ( http://ayende.com/wiki/Rhino+Mocks+3.5.ashx )から次の例を取り上げます。
mockUserRepository は mock という単語で名前が付けられており、GenerateMock ファクトリを呼び出していることがわかります。これは、コードのさらに下の方で、mockUserRepository には動作上の期待が確立されており、最終的にその動作の期待が検証されているためです。素晴らしいですが、mockUserRepository がその Stub() メソッドを呼び出して、同じオブジェクトの GetUserByName() の呼び出しによって返されたデータを「使用できる」ようにしています。
明らかに、この例は、明示的に名前が付けられ、宣言されたモックをモックとスタブの両方として使用することを示しています。Roy Osherove の定義に戻ると、すべての偽物は主張するまではスタブであり、偽物をモックとスタブの両方として (確かに機能しますが) 使用することは悪い習慣であると私は信じざるを得ません。
これを行うことに評決があるかどうかは誰にもわかりませんか?
android - recyclerview のユニバーサル イメージ ローダーに表示される stub_image
recyclerview で画像を表示するためのユニバーサル画像ローダーを実装しました。stub_image を示しています。コードには 1 つのフラグメントとそのアダプターが含まれており、universal-image-loader を追加する前に正しく機能していました。
コードは次のとおりです。
Fragment.Class
RecyclerViewAdapter.class
ruby-on-rails - Rspec スタブ アプリケーション コントローラー メソッド
Railsアプリ(4.2、ruby 2.2.1)でomniauthを使用しており、このコントローラーをここで定義しました:
私の見解ではこれらの方法に問題はありませんが、仕様テストは失敗し続けます。テストではアプリケーション コントローラーのメソッドを使用できないと読んだので、それらをスタブにしようとしました。
失敗したテストの例:
そしてエラー:
ビュー内のメソッド:
ノート:
- スタブの有無にかかわらず、結果は同じです
- テストは current_user メソッドについて不平を言うようには見えませんが、logged_in を見つけたときに失敗しているためかどうかはわかりません。メソッド
- ここで他の質問をいくつか確認しましたが、どれも役に立ちませんでした。
スタブするこの方法も私を助けませんでした:
allow(controller).to receive(:logged_in?).and_return(false)