次の方法で共有


TestUtils クラス

  • java.lang.Object
    • com.azure.core.test.utils.TestUtils

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 HttpClient getFaultInjectingHttpClient(HttpClient clientToWrap, boolean useHttps)

HttpClient ラップして HTTP フォールト インジェクター を呼び出し、ランダムなネットワーク障害をテストします。

static HttpClient 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[]) してより優れたエラー メッセージを利用しますが、これは例外的なケースであり、二重比較のパフォーマンスにヒットする価値があります。

パラメーター:

expected - 予想されるバイト配列。
actual - 実際のバイト配列。

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[]) をコピーしてより優れたエラー メッセージを利用しますが、これは例外的なケースであり、二重比較のパフォーマンスヒットの価値があります。

パラメーター:

expected - 予想されるバイト配列。
expectedOffset - オフセットを開始して、予想される配列での比較を開始します。
actual - 実際のバイト配列。
actualOffset - オフセットを開始して、実際の配列での比較を開始します。
length - 比較するバイト数。

assertByteBuffersEqual

public static void assertByteBuffersEqual(ByteBuffer expected, ByteBuffer actual)

2 が ByteBuffers 等しいことをアサートします。

このメソッドは JUnit Assertions#assertArrayEquals(byte[], byte[]) と似ていますが、JDK によって提供されるハードウェア組み込みを利用して ByteBuffers の比較を最適化する点が異なっています。

ByteBuffers が等しくない場合、ByteBuffer の内容はバイト配列にコピーされ、より優れたエラー メッセージを利用するために を呼び出 Assertions#assertArrayEquals(byte[], byte[]) しますが、これは例外的なケースであり、二重比較のパフォーマンスヒットの価値があります。

パラメーター:

expected - 想定される ByteBuffer
actual - 実際 ByteBufferの 。

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)することをお勧めします。これにより、通常は同じテストを行いながら、テストの実行速度が速くなります。

パラメーター:

clientToWrap - 実際の HttpClient 要求を送信するラップされている 。
useHttps - HTTPS を使用して HTTP フォールト インジェクタと通信する必要があるかどうか。

戻り値:

HttpClient不安定なネットワークでテストを実行するために、自動フォールト インジェクション処理を使用して HTTP フォールト インジェクタに要求を転送する 。

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、および failureRatesuccessRate組み合わせは 100 である必要があります。そうでないIllegalArgumentException場合は がスローされます。 IllegalArgumentExceptionいずれかの値が負の場合にも がスローされます。 既定のタイムアウトは 60 秒であり、応答がランダムに失敗するとタイムアウトが減少するため、HTTP フォールト インジェクタを使用したテストでは、 と HttpClientOptions#setReadTimeout(Duration)を設定するか、または HTTP クライアント ビルダーで同等のメソッドを直接設定HttpClientOptions#setResponseTimeout(Duration)することをお勧めします。これにより、通常は同じテストを行いながら、テストの実行速度が速くなります。

パラメーター:

clientToWrap - 実際の HttpClient 要求を送信するラップされている 。
useHttps - HTTPS を使用して HTTP フォールト インジェクタと通信する必要があるかどうか。
successRate - 成功する要求の割合。
partialRate - 部分的に成功する要求の割合。
failureRate - 失敗する要求の割合。

戻り値:

HttpClient不安定なネットワークでテストを実行するために、自動フォールト インジェクション処理を使用して HTTP フォールト インジェクタに要求を転送する 。

getRecordFolder

public static File getRecordFolder()

セッション レコードが File 保存されているフォルダーを指す を取得します。

戻り値:

session-records フォルダー。

getRepoRootResolveUntil

public static Path getRepoRootResolveUntil(Path testClassPath, String resolveFolder)

指定されたフォルダーの親まで、現在のリポジトリのルートを検索します。

パラメーター:

testClassPath - テスト クラスのパス
resolveFolder - までパスを解決するフォルダーの親

戻り値:

Pathリポジトリのルートへの 。

toURI

public static URI toURI(URL url)

この URL に相当する URI を 返します。

パラメーター:

url - URI に変換する URL

戻り値:

URI

適用対象