問題タブ [delphi-mocks]
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.
delphi - Delphi-Mocksフレームワークを使用してDelphiの子クラスでモックを使用する方法
さて、私は優れたDelphi-Mocksフレームワークを使用してきましたが、問題が発生しました。次のインターフェイスがあるとします。
現在、DUnitとDelphi-Mocksを使用してSaleインターフェースをテストし、次のように使用しようとしています。
だから私の質問は:既存のモックされたインターフェースに子モックを追加し、そのメソッドとプロパティを呼び出すにはどうすればよいですか?
ありがとう!PS私はDelphiXE2を使用しています。
delphi - Delphi Mock Framework を使用して副作用を引き起こす
私はかなり良いDelphi Mocks Frameworkを使用しており、「副作用」を持つメソッドを含むクラスのモックを作成しようとしています。つまり、それは読み取り操作であり、実際の実装ではコンテンツを設定します読み取りが成功した場合、バッファの。だから私の質問は、どうすればその「副作用」をあざけることができますか?
delphi - Delphi-Mocks: コンストラクターでパラメーターを使用してクラスをモックする
Delphi-Mocksフレームワークの使用を開始しましたが、コンストラクターにパラメーターを持つクラスをモックする際に問題が発生しています。TMock のクラス関数「Create」では、パラメータを使用できません。TFoo.Create( Bar: someType ); のモック インスタンスを作成しようとすると、TObjectProxy.Create; のときに「パラメータ カウントの不一致」が発生します。T の 'Create' メソッドを呼び出そうとします。
これは明らかに、次のコードが "Invoke" メソッドにパラメーターを渡さないためです。
パラメータを渡すオーバーロードされたクラス関数を作成しました。
私が行った限定的なテストで作業しています。
私の質問は:
これはバグですか、それとも間違っていますか?
ありがとう
PS: Delphi-Mocks がインターフェイス中心であることは知っていますが、クラスをサポートしており、私が取り組んでいるコード ベースは 99% クラスです。
delphi - Delphi Mocks Framework でパラメータの内容を確認するには?
Delphi Mocksフレームワークで、単純な値オブジェクトを作成してコラボレーターに渡すクラスをテストしようとしています。これらのオブジェクトの内容を確認するには?
コードの一般的な考え方は次のとおりです。
したがって、 への呼び出しDoSomething
が行われると、TSUTClass
は のインスタンスをいくつか作成し、TData
それらを 1 つずつ に渡す必要がありますReceiver.Process
。このセットアップでコールの正しいカウントが行われることを確認できます。
しかし、Field1
との値Field2
が正しいかどうかを確認する方法は?
delphi - Delphi-Mocks と Spring4D を使用した DUnit のインターフェイスのモック
そのため、Delphi-Mocks および Spring4D フレームワークを使用したコードの例の下にある、2 番目の複合インターフェイスをモックしようとすると、アクセス違反エラーが発生します。
タイプの登録
ここのテスト プロジェクトの完全なソース - https://drive.google.com/file/d/0B6KvjsGVp4ONeXBNenlMc2J0R2M。同僚の皆さん、私が間違っているところを教えてください。前もって感謝します!
delphi - spring4d インターフェース タイプの登録解除 (spring4d、dunitx、delphi-mocks)
spring4d、dunitx、および delphi-mocks を使用して、最初の単体テストの 1 つを作成しています。(spring4d リリース 1.1 - 12.09.2014)
私のテスト アプリケーションでは、テスト対象のシステム クラス (sut) へのインターフェイスを自動配線注入します。
今、モックで単体テストを使用しているときは、次の (非常に単純化された) コードを使用します。
最初のテスト メソッド (Test1) は正常に実行されます... しかし、2 番目のテスト メソッド (Test2) では、GlobalContainer.Build の行で spring4d が例外を発生させます: ERegistrationException('Duplicate service name found: IMyInterface_u.IMyInterface@IMyInterface_u.IMyInterface' )。
aIntfMock の登録を解除して、他のすべてのテストルーチンに新しいものを登録できるようにする可能性はありますか?
[編集] したがって、解決策は次のようになります。
素早い回答ありがとうございます...