問題タブ [mockserver]
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.
sapui5 - SAPUI5 Mockserver は常に同じランダム ID を生成します
テスト用に標準のビルトインモックサーバーで実行するUI5
アプリケーションがあります。UI5
Web IDE
これは、自動的に生成される mockserver.js のコードです。
私の oData メタデータのすべてのセットID
の型は整数です! (リアルゲートウェイサーバーでの自動インクリメント)
面白いのは、セットの新しいオブジェクトを作成する9
と、最初に作成されたオブジェクトの ID として割り当てられ、2 番目に作成されたオブジェクトなどになります416
。
明らかなことは、ビルトインのモック サーバーが静的シードなしまたは静的シードありのランダム生成アルゴリズムを使用することです。これが、メタデータ モデルの各セットに対して常に同じ ID チェーンを生成する理由です。
私の質問は、UI5 モック サーバーのこの動作を変更するにはどうすればよいですか?
言い換えれば、モック サーバーのシードとして乱数を設定するにはどうすればよいか、ID のインクリメンタル動作を強制的に使用するにはどうすればよいでしょうか。
id として生成される UI5 のデフォルトの動作の問題は9, 416, 6671, 2631, ...
、セットの 1 つに id のアイテムが既にある場合9
です。次に、新しいアイテムを作成すると、リストに同じ ID (つまり 9) を持つ 2 つのアイテムが作成されます。
spring-boot - Karate Mock Servlet ConfigでJPAリポジトリをモックする方法は?
RESTコントローラー、サービス、およびJPAリポジトリを備えたSpring Boot 2.2.4プロジェクトがあります。karate モック サーブレットを使用してコントローラーとサービスのモックを定義できますが、リポジトリをどうすればよいかわかりません。コントローラー @Autowired サービス。サービス @Autowired リポジトリ。
その結果、空手のテストを実行すると、次のメッセージが表示されます。
原因: org.springframework.beans.factory.NoSuchBeanDefinitionException: タイプ 'repository.EmployeeRepository' の適格な Bean がありません: オートワイヤー候補として適格な少なくとも 1 つの Bean が必要です。依存関係アノテーション: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
私が使用している MockServlet は、まさにデモのこのクラスです: MockSpringMvcServlet
これに似た MockConfig クラスを使用: MockDemoConfig
最後に、karate-config.js ファイルは MockSpringMvServlet を次のようにブートストラップします (空手のデモ コードに示されているように)。
注: API 呼び出しから JPA リポジトリを削除すると、Karate Mock Servlet はサーバーが実行されていなくても正常に動作し、Karate テストは正常にパスします。
どうすればこれを行うことができますか?誰かが私を正しい方向に向けることができれば、私はそれを感謝します.
java - Mock-Server - REST 応答としてのカスタム オブジェクト
JUnit 5 テストで REST-API をモックするために、バージョン 5.10.0 で Mock-Server (mock-server.com) を使用しています。Java 8 を使用してスプリング ブート アプリケーションを開発しています。私のペイロード形式は「protobuf」であるため、REST インターフェイスはResponseEntity<MyProtoObject>
. 残念ながら、カスタム オブジェクトが Mock-Server によって body として返される組み込みのソリューションが Mock-Server に見つかりません。withBody(String)
またはのようなメソッドしか見つかりませんでしwithBody(byte[])
た。そのメソッドに加えて、メソッドを見つけましたwithBody(BodyWithContentType)
。BodyWithContent<T>
ユニットテストクラスで抽象クラスの次の実装/使用法を作成しようとしました:
ResponseEntity が発生するコードをデバッグすると、モック サーバーから応答が返されますが、応答の「本文」は常に空です。私の習慣getValue()
も決して呼び出されません。アプリケーション ロジックの REST 呼び出しの結果が、さまざまなリターン コードを使用してモック サーバーから取得されるようにしました。
誰かがこの問題で私を助けることができますか?