問題タブ [mockwebserver]
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.
unit-testing - Web クライアントの Junit テスト ケースに MockWebServer を使用するにはどうすればよいですか?
http://example.com/someUri
webclient を使用してサードパーティの URL (たとえば.
webclient のテストケースを書くのは初めてです。そこで@SprintBootTestを使用しました。API呼び出しをモックすることでサードパーティのApi呼び出しでWebクライアントをテストし、それをローカルURL(url(http://localhost:{portNumber} / someUri)を使用する)に呼び出す方法が2つあることがわかりました私のテスト プロパティ ファイルから: src/test/resources/application.properties) ここで、実際のクライアントへの見返りとして、いくつかの mockedResponse が返されます。
- ワイヤーモックの使用
- MockWebServer の使用
理解を深めるために上記のコードを検討してください。
アプリケーション-dev.properties:
ソース/テスト/リソース/application.properties:
テスト クラス:
しかし、このコードは機能していません。上記のエラーが表示されます:
モックされた URL を使用して単体テストを実行するためにこれを修正する方法を誰かが知っていれば、本当に役に立ちますか? 前もって感謝します!
java - java.lang.IllegalArgumentException: ログタグ「okhttp3.mockwebserver.MockWebServer」が 23 文字の制限を超えています
誰かが示唆したように、これが重複した質問ではないことを明確にするためのいくつかのポイント:
- これは、長いログ タグ名が原因で発生する「ランタイム クラッシュ」です。つまり
okhttp3.mockwebserver.MockWebServer
、これはIDE lint エラーではありません。 - このクラッシュは、MockWebServer などのサード パーティの依存関係によって発生します。また、MockWebServer でAndroid のログを修正するバグを 報告してくれたYuri Schimkeに感謝します。
- 回答https://stackoverflow.com/a/63388805/8034839で修正を提供しました。
元の質問:
Expresso
と を使用して Android Web サービス テストに取り組んでいMockWebServer
ますが、ログ タグの問題を示す以下の例外が発生します。
「okhttp3.mockwebserver.MockWebServer」が 23 文字の制限を超えています。
詳細なスタック トレースは次のとおりです。