Você realmente não se importa com o conteúdo da matriz de bytes? Eu vejo isso muito em testes de unidade, onde as pessoas usam matchers anyX () porque são convenientes, mas, na realidade, você quase sempre deve se importar com o que está sendo passado. Se você não estiver usando uma resposta que realmente consuma o valor, provavelmente deve corresponder a um argumento esperado real.
Matunos 23/07
@ Matunos: Isso é discutível. O uso de qualquer match-match pode simplificar os testes e a próxima pessoa que olha o teste não se distrai com a correspondência desnecessariamente precisa e pode se concentrar no objetivo real do teste.
Malik Atalla
@ tbruelle: Lembre-se de que toda matriz em Java é um objeto. Isso o ajudaria no começo.
Aviso para todos: Agora está obsoleto assim que eu iria para a resposta votado (classe byte [].) Mockito.any
Chexpir
10
Eu concordo com Mutanos e Alecio. Além disso, é possível verificar o maior número possível de chamadas de método idênticas (verificando as chamadas subseqüentes no código de produção, a ordem da verificação não importa). Aqui está o código:
Você sempre pode criar um Matcher personalizado usando argThat
Mockito.verify(yourMockHere).methodCallToBeVerifiedOnYourMockHere(ArgumentMatchers.argThat(newArgumentMatcher<Object>(){@Overridepublicboolean matches(Object argument){YourTypeHere[] yourArray =(YourTypeHere[]) argument;// Do whatever you like, here is an example:if(!yourArray[0].getStringValue().equals("first_arr_val")){returnfalse;}returntrue;}}));
Respostas:
eu tentaria
any(byte[].class)
fonte
AdditionalMatchers.aryEq(expectedArray)
Tente o seguinte:
fonte
Eu prefiro usar
Matchers.<byte[]>any()
. Isso funcionou para mim.fonte
Eu concordo com Mutanos e Alecio. Além disso, é possível verificar o maior número possível de chamadas de método idênticas (verificando as chamadas subseqüentes no código de produção, a ordem da verificação não importa). Aqui está o código:
fonte
Eu usei
Matchers.refEq
para isso.fonte
Você pode usar Mockito.any () quando argumentos também são matrizes. Eu usei assim:
fonte
O que funciona para mim foi
org.mockito.ArgumentMatchers.isA
por exemplo:
isso funciona bem.
a diferença de implementação um do outro é:
fonte
Você sempre pode criar um Matcher personalizado usando
argThat
fonte