Articles of mockito de

Instanciando objects ao usar o Spring, para testar a produção vs.

Estou correto em entender que, ao usar o Spring, você deve usar o xml de configuração do Spring para instanciar seus objects para produção e instanciar objects diretamente ao testar? Por exemplo. MyMain.java package org.world.hello; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MyMain { private Room room; public static void speak(String str) { System.out.println(str); } public […]

Mockito Verifique o método param para ser uma class paticular

Eu tenho um método: void putObject( param) Tenho algum teste onde eu zombar desse método, mas me pergunto, como verificar se esse método foi chamado com parâmetro de class particular? Tentei fazer isso de várias maneiras: verify(foo).putObject((SomeClass)anyObject()); —— verify(foo).putObject(any(SomeClass.class)); —— ArgumentCaptor parameter = ArgumentCaptor .forClass(SomeClass.class); verify(foo).putObject(parametr); Trabalha apenas a segunda variante com any() , mas […]

Mockito não pode zombar dessa class

Eu estou tentando zombar de uma class pública, no entanto, ao fazê-lo, Mockito lança um Mockito cannot mock this class exceção de Mockito cannot mock this class . Aula que desejo zombar: https://github.com/scribejava/scribejava/blob/master/scribejava-core/src/main/java/com/github/scribejava/core/builder/ServiceBuilder.java Código de teste: package xyz.jacobclark.adapter; import com.github.scribejava.apis.TwitterApi; import com.github.scribejava.core.builder.ServiceBuilder; import com.github.scribejava.core.model.OAuth1RequestToken; import com.github.scribejava.core.oauth.OAuth10aService; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import […]

Mockito – Comportamento de zombaria de um arquivo

Eu tenho uma class que leva em um único arquivo, encontra o arquivo relacionado a ele e o abre. Algo ao longo das linhas de class DummyFileClass { private File fileOne; private File fileTwo; public DummyFileClass(File fileOne) { this.fileOne = fileOne; fileTwo = findRelatedFile(fileOne) } public void someMethod() { // Do something with files one […]

Anotação MockBean no teste Spring Boot causa NoUniqueBeanDefinitionException

Estou com problemas para usar a anotação @MockBean. Os documentos dizem que o MockBean pode replace um bean dentro do contexto, mas estou recebendo um NoUniqueBeanDefinitionException dentro do meu teste de unidade. Não consigo ver como usar a anotação. Se eu puder zombar do repo, então obviamente haverá mais de uma definição de bean. Estou […]

Um caso de borda de genéricos estranho com Mockito.when () e inferência de tipo genérico

Eu estou escrevendo um caso de teste que usa um java.beans.PropertyDescriptor usando Mockito, e eu quero zombar do comportamento de getPropertyType() para retornar um object arbitrário Class (No meu caso, String.class ). Normalmente, eu faria isso apenas invocando: // we already did an “import static org.mockito.Mockito.*” when(mockDescriptor.getPropertyType()).thenReturn(String.class); No entanto, curiosamente, isso não compila: cannot find […]

Mockito thenReturn retorna a mesma instância

Eu tenho isso em Mockito: when(mockedMergeContext.createNewEntityOfType(IService.class)).thenReturn(new ServiceMock()); O método createNewEntityOfType deve sempre retornar uma nova instância do ServiceMock mas retorna duas vezes a mesma referência. Por que o método thenReturn não retorna o novo ServiceMock ?

Mockito: mocking de um arraylist que será colocado em loop

Eu tenho um método em teste que contém o seguinte trecho: private void buildChainCode(List lines){ for(TracedPath path : lines){ /…/ } } Meu código de teste unitário é assim: public class ChainCodeUnitTest extends TestCase { private @Mock List listOfPaths; private @Mock TracedPath tracedPath; protected void setUp() throws Exception { super.setUp(); MockitoAnnotations.initMocks(this); } public void testGetCode() […]

Objeto zombado Mockito de repente lança NPE

Eu tenho um mock: static MyGroovyBasedHttpClient createClient(){ MyGroovyBasedHttpClient client = mock(MyGroovyBasedHttpClient.class); Answer methodAnswer = createGenericAnswer(); when(client.myMethod(anyString(), anyInt(),anyString())).thenAnswer(methodAnswer); return client; } E eu tenho invocação de método def response = client.myMethod(stringParam1, intParam2, stringParam3) E eu recebo NPE na invocação client.myMethod Se eu fizer println client // mock for MyGroovyBasedHttpClient with hashcode então 100% cliente é inicializado […]

Mockito – problema de inheritance de class de escopo de pacote estranho

Encontrei um problema muito interessante e depois da debugging encontrei o cenário para reproduzi-lo. Então, se eu tiver uma class com o escopo do pacote B que tenha algum método público e uma class pública A que o estenda: package somepackage; class B { public void someMethod() { throw NullPointerException(); } } package somepackage; public […]