問題タブ [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.
c# - リフレクション スタブを使用してデリゲート フィールドを遅延初期化する
問題:
コード ジェネレーターによって生成された数千のデリゲート フィールドを持つ .Net 2.0 クラス
- さまざまな署名
- デリゲートは値を返す場合と返さない場合があります
- ジェネリックなし
これらのデリゲートは、実行時にすばやく初期化する必要があります
- デリゲートの初期化は簡単ですが、コストがかかります
- ロット全体の初期化コストは現在 300 ミリ秒以下 - 許容範囲ですが、完全ではありません
- ユーザーはこれらのデリゲートの 10% 未満しか使用しない可能性があります。これらのデリゲートのみを遅延ロードできれば、はるかに高速になります。(使っていないものにお金はかかりません)
質問:
リフレクションを使用してデリゲート フィールドを遅延初期化することは可能ですか? 擬似コード:
(a)、(b)、および (c) を実行するスタブを作成することは可能であると感じていますが、その方法を推測することはできませんでした。
理想的には、コードは .Net 2.0 および Mono 2.0 を実行し、System.Reflection.Emit を使用しないようにする必要があります。ただし、.Net 3.5 または DynamicMethod を使用したソリューションにも興味があります。
何か案は?:)
ruby - Fakeweb を使用しない Rails テストでの Web リクエストの偽造
Railsアプリのドライバーとして、Handsoap gemとHttpclient gemを使用しています。
テスト ケースで Handsaop/Httpclient gem からのネットワーク呼び出しを防ぐにはどうすればよいですか?
FakeWeb は Httpclient をサポートしていません。
.net - MEF コンポーネントの API スタブを提供するにはどうすればよいですか?
Visual Studio 2010 SDK には、単なるスタブである Microsoft.VisualStudio.Text.Data や Microsoft.VisualStudio.Text.UI などの多くのアセンブリが付属しています。Visual Studio の拡張機能を作成するには、これらのアセンブリを参照しますが、参照の "Copy Local" プロパティと "Exact Version" プロパティを false に設定します。拡張機能が Visual Studio に読み込まれると、参照は Visual Studio の以前に読み込まれたこれらのアセンブリの内部実装にバインドされます。
他の MEF パッケージで可能な Visual Studio サービスとして機能する新しい MEF エクスポート コンポーネントを提供したいと考えています[Import]
。サービスを使用するには、他のコンポーネントが私のパッケージを参照する必要がありますが、それを参照する他のパッケージを壊すことなくサービスの内部実装を変更できるように、スタブを参照することを好みます。スタブを参照すると、実行時に提供された実装とシームレスに連携するように、公開されている API コンポーネントを含む「スタブ」アセンブリを任意のアセンブリから提供するにはどうすればよいですか?
java - javaとaxis2を使用してWebサービスへのリクエストをマルチスレッド化するときに「タイムアウト」
低速のWebサービス(各リクエストで約4分)を使用していて、2時間で約100のリクエストを実行する必要があるため、複数のスレッドを使用することにしました。問題は、スタブが他のすべてのスレッドを拒否するため、2つのスレッドしか持てないことです。ここで私は説明と可能な解決策を見つけました:
私も同じ問題を抱えていました。そのソースはMultiThreadedHttpConnectionManagerのdefaultMaxConnectionsPerHost値が2に等しいようです。私にとっての回避策は、MultiThreadedHttpConnectionManagerの独自のインスタンスを作成し、それをサービススタブで使用することでした。
著者が言ったように、より高いsetMaxTotalConnectionsとsetDefaultMaxConnectionsPerHost値を持つスタブにHttpClientを渡しましたが、問題は、アプリケーションがフリーズすることです(まあ、実際にはフリーズしませんが、何もしません)。
それが私のコードです:
次に、そのスタブとリクエストを各スレッドに渡して実行します。HttpClientを設定せずにデフォルトを使用すると、2つのスレッドのみが実行され、設定するとアプリケーションが機能しなくなります。何か案が?
c# - クラスの 1 つのメソッドをスタブ化し、他の実際のメソッドがこのスタブ化されたメソッドを使用できるようにする
現在の日付/時刻の値を提供するTimeMachine
クラスがあります。クラスは次のようになります。
3 つのメソッドすべてをスタブ化する必要がないように、メソッドをスタブ化し、他の 2 つTimeMachine
のメソッドがスタブ化されたメソッドを使用できるように、テストでスタブを使用したいと考えています。私は次のようにテストを書き込もうとしました:GetCurrentDateTime
GetCurrentDateTime
しかし、テストは失敗します。内部でスタブを使用する代わりにGetCurrentDate
戻ります。default(DateTime)
GetCurrentDateTime
そのような動作を実現するために使用できるアプローチはありますか、それとも現時点では理解できない RhinoMocks の基本的な概念的な機能ですか? これら 2 つのGetDate
/メソッドを削除して/の使用Time
法をインライン化できることはわかっていますが、これが可能かどうかを理解したいと思います。.Date
.TimeOfDay
ruby-on-rails - mocha はコードをスタブ (Rails) で実行しますか?
私はtddとスタブが初めてです。メソッドをスタブすると、そのメソッド内のコードが実行されないと仮定しますか? 例外を発生させるメソッドを偽造しようとしていますが、テストの結果は、そのメソッドのコードがバイパスされずに実行されていることを示しています。
誰でも理由を説明できますか?
私のスタビングは
そして文脈で
これは、スタブしようとしている私のモデルのメソッドです。Spreedly::Subscriber は通常、Web から情報を取得します。
-
テストエラーは
axis - Axis wsdl2java がスタブ内のすべてのインターフェースを生成しない
wsdl2java.bat を使用してスタブを生成しようとしています。wsdl は 2 つのバインディングで構成されています。wsdl2bat は最初のバインディングで操作用のインターフェースを作成しますが、秒のバインディングでは操作用に何も生成しないことがわかります。wsdl2java.bat -uri http://... -o client -d adb -s -u.
たとえば、コードは次のようになります
ここでの問題は、スタブの resDoc インスタンスにメソッド getEchoStringReturn があることです。
java - Web サービス生成用のクライアント スタブ: どのライブラリを使用するか?
WSDL ファイルからクライアント スタブを生成するための推奨される方法はどれですか? Axis2 プラグインを試してみましたが、うまくいきました。Eclipse の WTP はクライアント スタブも生成できますか? より良い解決策は何ですか?
そのような方法を推奨する理由を説明できますか?
ps Apache CXF には、クライアント スタブを視覚的に生成するための Eclipse プラグインがありますか?
unit-testing - 単体テスト - データベース データをスタブ化するときにテスト データを設定する方法
ユニット テストでは、ライブ データベースが使用されないように、ユニット テスト中に使用する一連のデータをメモリ内に作成するスタブ オブジェクトを取得しました。
テスト中のクエリとテストでクエリに提供された値を使用して、このセットから返される行数をチェックする単体テストがあります。私の最初の問題は、MSTest を使用しており、パラメーター化されたテストをサポートしていないため、異なる値のセットごとに 1 つのテストがあり、1 つのルーチンに提供される値だけが異なる多くのテストが行われることです。別のテスト フレームワークを使用することは、政治的に難しい場合があります。
また、データはコードを介してセットにエンティティを追加することによって作成されるため、データの操作はやや扱いにくいため、セット内のデータを簡単に確認することは難しく、将来このセットにレコードを追加する場合は、テストで返される必要があるレコードの数を更新して、テストがこのデータに非常に密接に依存するようにします。これを自動化する方法はないようです。そうですか?