TestUtils クラス
- java.
lang. Object - com.
azure. core. test. utils. TestUtils
- com.
public final class TestUtils
テストに使用されるユーティリティ メソッドが含まれています。
メソッドの概要
修飾子と型 | メソッドと説明 |
---|---|
static void |
assertArraysEqual(byte[] expected, byte[] actual)
2 つの配列が等しいことをアサートします。 |
static void |
assertArraysEqual(byte[] expected, int expectedOffset, byte[] actual, int actualOffset, int length)
2 つの配列が等しいことをアサートします。 |
static void |
assertByteBuffersEqual(ByteBuffer expected, ByteBuffer actual)
2 が ByteBuffers 等しいことをアサートします。 |
static
Http |
getFaultInjectingHttpClient(HttpClient clientToWrap, boolean useHttps)
を HttpClient ラップして HTTP フォールト インジェクター を呼び出し、ランダムなネットワーク障害をテストします。 |
static
Http |
getFaultInjectingHttpClient(HttpClient clientToWrap, boolean useHttps, int successRate, int partialRate, int failureRate)
を HttpClient ラップして HTTP フォールト インジェクター を呼び出し、ランダムなネットワーク障害をテストします。 |
static File |
getRecordFolder()
セッション レコードが File 保存されているフォルダーを指す を取得します。 |
static Path |
getRepoRootResolveUntil(Path testClassPath, String resolveFolder)
指定されたフォルダーの親まで、現在のリポジトリのルートを検索します。 |
static URI |
toURI(URL url)
この URL に相当する URI を 返します。 |
メソッドの継承元: java.lang.Object
メソッドの詳細
assertArraysEqual
public static void assertArraysEqual(byte[] expected, byte[] actual)
2 つの配列が等しいことをアサートします。
このメソッドは JUnit Assertions#assertArrayEquals(byte[], byte[]) と似ていますが、JDK によって提供されるハードウェア組み込みを利用してバイト配列の比較を最適化する点が異なっています。
配列が等しくない場合は、 を呼び出 Assertions#assertArrayEquals(byte[], byte[]) してより優れたエラー メッセージを利用しますが、これは例外的なケースであり、二重比較のパフォーマンスにヒットする価値があります。
パラメーター:
assertArraysEqual
public static void assertArraysEqual(byte[] expected, int expectedOffset, byte[] actual, int actualOffset, int length)
2 つの配列が等しいことをアサートします。
このメソッドは、JDK によって提供されるハードウェア組み込みを利用してバイト配列の比較を最適化し、配列のサブセクションを比較できる点を除いて、JUnit Assertions#assertArrayEquals(byte[], byte[]) と似ています。
配列が等しくない場合は、配列範囲と 呼び出し Assertions#assertArrayEquals(byte[], byte[]) をコピーしてより優れたエラー メッセージを利用しますが、これは例外的なケースであり、二重比較のパフォーマンスヒットの価値があります。
パラメーター:
assertByteBuffersEqual
public static void assertByteBuffersEqual(ByteBuffer expected, ByteBuffer actual)
2 が ByteBuffers 等しいことをアサートします。
このメソッドは JUnit Assertions#assertArrayEquals(byte[], byte[]) と似ていますが、JDK によって提供されるハードウェア組み込みを利用して ByteBuffers の比較を最適化する点が異なっています。
ByteBuffers が等しくない場合、ByteBuffer の内容はバイト配列にコピーされ、より優れたエラー メッセージを利用するために を呼び出 Assertions#assertArrayEquals(byte[], byte[]) しますが、これは例外的なケースであり、二重比較のパフォーマンスヒットの価値があります。
パラメーター:
getFaultInjectingHttpClient
public static HttpClient getFaultInjectingHttpClient(HttpClient clientToWrap, boolean useHttps)
を HttpClient ラップして HTTP フォールト インジェクター を呼び出し、ランダムなネットワーク障害をテストします。
このメソッドによって返される を HttpClient 使用するには、HTTP フォールト インジェクタで必要なすべてのセットアップを構成する必要があります。 useHttps
は、HTTPS または HTTP を使用して要求を HTTP 障害インジェクタに転送するかどうかを決定します。HTTP を使用すると、HTTP フォールト インジェクタで使用される自己署名証明書が JVM によって信頼される必要がないため、HTTP フォールト インジェクタを使用してテストを簡単にプロトタイプ化できます。 マージ準備完了テストでは、常に HTTPS を使用する必要があります。
返された は HttpClient 、既定の成功応答と失敗応答の割合を使用します。 要求の 75% は成功し、要求の 24% は部分本文が返されて失敗し、要求の 1% は応答を返しません。 既定のタイムアウトは 60 秒であり、応答がランダムに失敗するとタイムアウトが減少するため、HTTP フォールト インジェクタを使用したテストでは、 と HttpClientOptions#setReadTimeout(Duration)を設定するか、または HTTP クライアント ビルダーで同等のメソッドを直接設定HttpClientOptions#setResponseTimeout(Duration)することをお勧めします。これにより、通常は同じテストを行いながら、テストの実行速度が速くなります。
パラメーター:
戻り値:
getFaultInjectingHttpClient
public static HttpClient getFaultInjectingHttpClient(HttpClient clientToWrap, boolean useHttps, int successRate, int partialRate, int failureRate)
を HttpClient ラップして HTTP フォールト インジェクター を呼び出し、ランダムなネットワーク障害をテストします。
このメソッドによって返される を HttpClient 使用するには、HTTP フォールト インジェクタで必要なすべてのセットアップを構成する必要があります。 useHttps
は、HTTPS または HTTP を使用して要求を HTTP 障害インジェクタに転送するかどうかを決定します。HTTP を使用すると、HTTP フォールト インジェクタで使用される自己署名証明書が JVM によって信頼される必要がないため、HTTP フォールト インジェクタを使用してテストを簡単にプロトタイプ化できます。 マージ準備完了テストでは、常に HTTPS を使用する必要があります。
返された は HttpClient 、指定された成功応答と失敗応答の割合を使用します。 、partialRate
、および failureRate
のsuccessRate
組み合わせは 100 である必要があります。そうでないIllegalArgumentException場合は がスローされます。 IllegalArgumentExceptionいずれかの値が負の場合にも がスローされます。 既定のタイムアウトは 60 秒であり、応答がランダムに失敗するとタイムアウトが減少するため、HTTP フォールト インジェクタを使用したテストでは、 と HttpClientOptions#setReadTimeout(Duration)を設定するか、または HTTP クライアント ビルダーで同等のメソッドを直接設定HttpClientOptions#setResponseTimeout(Duration)することをお勧めします。これにより、通常は同じテストを行いながら、テストの実行速度が速くなります。
パラメーター:
戻り値:
getRecordFolder
public static File getRecordFolder()
セッション レコードが File 保存されているフォルダーを指す を取得します。
戻り値:
getRepoRootResolveUntil
public static Path getRepoRootResolveUntil(Path testClassPath, String resolveFolder)
指定されたフォルダーの親まで、現在のリポジトリのルートを検索します。
パラメーター:
戻り値:
toURI
適用対象
Azure SDK for Java
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示