Compartir a través de


TestUtils Clase

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

public final class TestUtils

Contiene métodos de utilidad usados para las pruebas.

Resumen del método

Modificador y tipo Método y descripción
static void assertArraysEqual(byte[] expected, byte[] actual)

Afirma que dos matrices son iguales.

static void assertArraysEqual(byte[] expected, int expectedOffset, byte[] actual, int actualOffset, int length)

Afirma que dos matrices son iguales.

static void assertByteBuffersEqual(ByteBuffer expected, ByteBuffer actual)

Afirma que dos ByteBuffers son iguales.

static HttpClient getFaultInjectingHttpClient(HttpClient clientToWrap, boolean useHttps)

Ajusta un HttpClient para realizar llamadas al inyector de errores HTTP para probar errores de red aleatorios.

static HttpClient getFaultInjectingHttpClient(HttpClient clientToWrap, boolean useHttps, int successRate, int partialRate, int failureRate)

Ajusta un HttpClient para realizar llamadas al inyector de errores HTTP para probar errores de red aleatorios.

static File getRecordFolder()

Obtenga el File que apunta a la carpeta donde residen los registros de sesión.

static Path getRepoRootResolveUntil(Path testClassPath, String resolveFolder)

Busca la raíz del repositorio actual hasta que el elemento primario de la carpeta proporcionada.

static URI toURI(URL url)

Devuelve un URI equivalente a esta dirección URL.

Métodos heredados de java.lang.Object

Detalles del método

assertArraysEqual

public static void assertArraysEqual(byte[] expected, byte[] actual)

Afirma que dos matrices son iguales.

Este método es similar al de Assertions#assertArrayEquals(byte[], byte[]) JUnit, salvo que aprovecha las ventajas de los intrínsecos de hardware que ofrece el JDK para optimizar la comparación de las matrices de bytes.

Si las matrices no son iguales, llamará Assertions#assertArrayEquals(byte[], byte[]) a para aprovechar el mejor mensaje de error, pero este es el caso excepcional y vale la pena el doble impacto de rendimiento de comparación.

Parámetros:

expected - Matriz de bytes esperada.
actual - Matriz de bytes real.

assertArraysEqual

public static void assertArraysEqual(byte[] expected, int expectedOffset, byte[] actual, int actualOffset, int length)

Afirma que dos matrices son iguales.

Este método es similar al de Assertions#assertArrayEquals(byte[], byte[]) JUnit, salvo que aprovecha las ventajas de los intrínsecos de hardware ofrecidos por el JDK para optimizar la comparación de las matrices de bytes y permite comparar subsecciones de las matrices.

Si las matrices no son iguales, copiará los intervalos de matrices y llamará Assertions#assertArrayEquals(byte[], byte[]) a para aprovechar el mejor mensaje de error, pero este es el caso excepcional y vale la pena alcanzar el doble rendimiento de comparación.

Parámetros:

expected - Matriz de bytes esperada.
expectedOffset - Desplazamiento inicial para empezar a comparar en la matriz esperada.
actual - Matriz de bytes real.
actualOffset - Desplazamiento inicial para empezar a comparar en la matriz real.
length - Cantidad de bytes que se van a comparar.

assertByteBuffersEqual

public static void assertByteBuffersEqual(ByteBuffer expected, ByteBuffer actual)

Afirma que dos ByteBuffers son iguales.

Este método es similar al de Assertions#assertArrayEquals(byte[], byte[]) JUnit, salvo que aprovecha las ventajas de los intrínsecos de hardware ofrecidos por el JDK para optimizar la comparación de byteBuffers.

Si los ByteBuffers no son iguales, se copiará el contenido de ByteBuffer en matrices de bytes y se llamará Assertions#assertArrayEquals(byte[], byte[]) para aprovechar el mejor mensaje de error, pero este es el caso excepcional y vale la pena el doble impacto de rendimiento de comparación.

Parámetros:

expected - El objeto esperado ByteBuffer.
actual - El objeto real ByteBuffer.

getFaultInjectingHttpClient

public static HttpClient getFaultInjectingHttpClient(HttpClient clientToWrap, boolean useHttps)

Ajusta un HttpClient para realizar llamadas al inyector de errores HTTP para probar errores de red aleatorios.

El uso del devuelto por este método requiere que se configure toda la HttpClient configuración requerida por el inyector de error HTTP. useHttps determina si las solicitudes se reenvía al inyector de errores HTTP mediante HTTPS o HTTP, el uso de HTTP no requiere el certificado autofirmado que usa el inyector de errores HTTP para que sea de confianza para la JVM, lo que facilita el prototipo de pruebas mediante el inyector de errores HTTP. Las pruebas preparadas para combinar siempre deben usar HTTPS.

El HttpClient devuelto usará los porcentajes de respuesta correctos y de error predeterminados. El 75 % de la solicitud se realizará correctamente, el 24 % de las solicitudes producirá un error con un cuerpo parcial devuelto y el 1 % de las solicitudes nunca devolverá una respuesta. Se recomienda para las pruebas que usan el inyector de errores HTTP para establecer HttpClientOptions#setResponseTimeout(Duration) y HttpClientOptions#setReadTimeout(Duration), o los métodos equivalentes directamente en el generador de clientes HTTP que se usan, ya que los tiempos de espera predeterminados son de 60 segundos y con respuestas con errores al reducir aleatoriamente el tiempo de espera permitirá que las pruebas se ejecuten más rápido y, por lo general, probar lo mismo.

Parámetros:

clientToWrap - Que HttpClient se va a encapsular que enviará la solicitud real.
useHttps - Si se debe usar HTTPS para comunicarse con el inyector de errores HTTP.

Devoluciones:

que HttpClient reenvía las solicitudes al inyector de errores HTTP con el control automático de la inyección de errores para ejecutar pruebas con una red escarbada.

getFaultInjectingHttpClient

public static HttpClient getFaultInjectingHttpClient(HttpClient clientToWrap, boolean useHttps, int successRate, int partialRate, int failureRate)

Ajusta un HttpClient para realizar llamadas al inyector de errores HTTP para probar errores de red aleatorios.

El uso del devuelto por este método requiere que se configure toda la HttpClient configuración requerida por el inyector de error HTTP. useHttps determina si las solicitudes se reenvía al inyector de errores HTTP mediante HTTPS o HTTP, el uso de HTTP no requiere el certificado autofirmado que usa el inyector de errores HTTP para que sea de confianza para la JVM, lo que facilita el prototipo de pruebas mediante el inyector de errores HTTP. Las pruebas preparadas para combinar siempre deben usar HTTPS.

El HttpClient devuelto usará los porcentajes de respuesta correctos y de error especificados. La combinación de successRate, partialRatey failureRate debe ser igual a 100, si no se producirá una IllegalArgumentException excepción . También se producirá una IllegalArgumentException excepción si alguno de los valores es negativo. Se recomienda para las pruebas que usan el inyector de errores HTTP para establecer HttpClientOptions#setResponseTimeout(Duration) y HttpClientOptions#setReadTimeout(Duration), o los métodos equivalentes directamente en el generador de clientes HTTP que se usan, ya que los tiempos de espera predeterminados son de 60 segundos y con respuestas con errores al reducir aleatoriamente el tiempo de espera permitirá que las pruebas se ejecuten más rápido y, por lo general, probar lo mismo.

Parámetros:

clientToWrap - Que HttpClient se va a encapsular que enviará la solicitud real.
useHttps - Si se debe usar HTTPS para comunicarse con el inyector de errores HTTP.
successRate - Porcentaje de solicitudes que se realizarán correctamente.
partialRate - Porcentaje de solicitudes que se realizarán parcialmente correctamente.
failureRate - Porcentaje de solicitudes que producirán un error.

Devoluciones:

que HttpClient reenvía las solicitudes al inyector de errores HTTP con el control automático de la inyección de errores para ejecutar pruebas con una red escarbada.

getRecordFolder

public static File getRecordFolder()

Obtenga el File que apunta a la carpeta donde residen los registros de sesión.

Devoluciones:

Carpeta session-records.

getRepoRootResolveUntil

public static Path getRepoRootResolveUntil(Path testClassPath, String resolveFolder)

Busca la raíz del repositorio actual hasta que el elemento primario de la carpeta proporcionada.

Parámetros:

testClassPath - ruta de acceso de la clase de prueba
resolveFolder - la carpeta primaria para resolver la ruta de acceso hasta

Devoluciones:

en Path la raíz del repositorio.

toURI

public static URI toURI(URL url)

Devuelve un URI equivalente a esta dirección URL.

Parámetros:

url - la dirección URL que se va a convertir en URI

Devoluciones:

el URI

Se aplica a