TestUtils Classe
- java.
lang. Object - com.
azure. core. test. utils. TestUtils
- com.
public final class TestUtils
Contém métodos utilitários usados para teste.
Resumo do método
Métodos herdados de java.lang.Object
Detalhes do método
assertArraysEqual
public static void assertArraysEqual(byte[] expected, byte[] actual)
Afirma que duas matrizes são iguais.
Esse método é semelhante ao do Assertions#assertArrayEquals(byte[], byte[]) JUnit, exceto que ele aproveita os intrínsecos de hardware oferecidos pelo JDK para otimizar a comparação das matrizes de bytes.
Se as matrizes não forem iguais, isso chamará Assertions#assertArrayEquals(byte[], byte[]) para aproveitar a melhor mensagem de erro, mas esse é o caso excepcional e vale o duplo impacto no desempenho de comparação.
Parâmetros:
assertArraysEqual
public static void assertArraysEqual(byte[] expected, int expectedOffset, byte[] actual, int actualOffset, int length)
Afirma que duas matrizes são iguais.
Esse método é semelhante ao do Assertions#assertArrayEquals(byte[], byte[]) JUnit, exceto que ele aproveita os intrínsecos de hardware oferecidos pelo JDK para otimizar a comparação das matrizes de bytes e permite comparar subseções das matrizes.
Se as matrizes não forem iguais, isso copiará os intervalos de matriz e chamará Assertions#assertArrayEquals(byte[], byte[]) para aproveitar a melhor mensagem de erro, mas esse é o caso excepcional e vale a pena o duplo impacto no desempenho de comparação.
Parâmetros:
assertByteBuffersEqual
public static void assertByteBuffersEqual(ByteBuffer expected, ByteBuffer actual)
Afirma que dois ByteBuffers são iguais.
Esse método é semelhante ao do Assertions#assertArrayEquals(byte[], byte[]) JUnit, exceto que ele aproveita os intrínsecos de hardware oferecidos pelo JDK para otimizar a comparação dos ByteBuffers.
Se os ByteBuffers não forem iguais, isso copiará o conteúdo do ByteBuffer em matrizes de bytes e chamará Assertions#assertArrayEquals(byte[], byte[]) para aproveitar a melhor mensagem de erro, mas esse é o caso excepcional e vale a pena o duplo impacto no desempenho de comparação.
Parâmetros:
getFaultInjectingHttpClient
public static HttpClient getFaultInjectingHttpClient(HttpClient clientToWrap, boolean useHttps)
Encapsula um HttpClient para fazer chamadas para o injetor de falha HTTP para testar falhas de rede aleatórias.
O uso do HttpClient retornado por esse método requer que toda a configuração exigida pelo injetor de falha HTTP seja configurada.
useHttps
determina se as solicitações são encaminhadas para o injetador de falhas HTTP usando HTTPS ou HTTP, o uso de HTTP não exige que o certificado autoassinado usado pelo injetor de falha HTTP seja confiável pela JVM, facilitando o protótipo de testes usando o injetor de falha HTTP. Os testes prontos para mesclagem sempre devem usar HTTPS.
O HttpClient retornado usará os percentuais de resposta de falha e êxito padrão. 75% da solicitação terá êxito, 24% das solicitações falharão com um corpo parcial retornado e 1% das solicitações nunca retornarão uma resposta. É recomendável para testes que usam o injetor de falha HTTP para definir HttpClientOptions#setResponseTimeout(Duration) e HttpClientOptions#setReadTimeout(Duration)ou os métodos equivalentes diretamente no construtor de clientes HTTP que está sendo usado, pois os tempos limite padrão são de 60 segundos e com as respostas falhando aleatoriamente, reduzir o tempo limite permitirá que os testes sejam executados mais rapidamente enquanto ainda testam o mesmo.
Parâmetros:
Retornos:
getFaultInjectingHttpClient
public static HttpClient getFaultInjectingHttpClient(HttpClient clientToWrap, boolean useHttps, int successRate, int partialRate, int failureRate)
Encapsula um HttpClient para fazer chamadas para o injetor de falha HTTP para testar falhas de rede aleatórias.
O uso do HttpClient retornado por esse método requer que toda a configuração exigida pelo injetor de falha HTTP seja configurada.
useHttps
determina se as solicitações são encaminhadas para o injetador de falhas HTTP usando HTTPS ou HTTP, o uso de HTTP não exige que o certificado autoassinado usado pelo injetor de falha HTTP seja confiável pela JVM, facilitando o protótipo de testes usando o injetor de falha HTTP. Os testes prontos para mesclagem sempre devem usar HTTPS.
O HttpClient retornado usará os percentuais de resposta de falha e êxito especificados. A combinação de successRate
, partialRate
e failureRate
deve ser igual a 100, se não um IllegalArgumentException será lançada. Um IllegalArgumentException também será gerado se qualquer um dos valores for negativo. É recomendável para testes que usam o injetor de falha HTTP para definir HttpClientOptions#setResponseTimeout(Duration) e HttpClientOptions#setReadTimeout(Duration)ou os métodos equivalentes diretamente no construtor de clientes HTTP que está sendo usado, pois os tempos limite padrão são de 60 segundos e com as respostas falhando aleatoriamente, reduzir o tempo limite permitirá que os testes sejam executados mais rapidamente enquanto ainda testam o mesmo.
Parâmetros:
Retornos:
getRecordFolder
public static File getRecordFolder()
Obtenha o File apontando para a pasta em que os registros de sessão residem.
Retornos:
getRepoRootResolveUntil
public static Path getRepoRootResolveUntil(Path testClassPath, String resolveFolder)
Localiza a raiz do repositório atual até o pai da pasta fornecida.
Parâmetros:
Retornos:
toURI
public static URI toURI(URL url)
Retorna um URI equivalente a essa URL.
Parâmetros:
Retornos:
Aplica-se a
Azure SDK for Java