Best Mockito code snippet using org.mockito.ArgumentMatchers.anyObject
Source: KafkaSpoutEmitTest.java
...17import static org.apache.storm.kafka.spout.config.builder.SingleTopicKafkaSpoutConfiguration.createKafkaSpoutConfigBuilder;18import static org.mockito.ArgumentMatchers.any;19import static org.mockito.ArgumentMatchers.anyList;20import static org.mockito.ArgumentMatchers.anyLong;21import static org.mockito.ArgumentMatchers.anyObject;22import static org.mockito.ArgumentMatchers.anyString;23import static org.mockito.ArgumentMatchers.eq;24import static org.mockito.Mockito.inOrder;25import static org.mockito.Mockito.never;26import static org.mockito.Mockito.reset;27import static org.mockito.Mockito.times;28import static org.mockito.Mockito.verify;29import static org.mockito.Mockito.when;30import java.io.IOException;31import java.util.ArrayList;32import java.util.Collections;33import java.util.HashMap;34import java.util.List;35import java.util.Map;36import java.util.Optional;37import org.apache.kafka.clients.consumer.ConsumerRecord;38import org.apache.kafka.clients.consumer.ConsumerRecords;39import org.apache.kafka.clients.consumer.KafkaConsumer;40import org.apache.kafka.common.TopicPartition;41import org.apache.storm.kafka.spout.config.builder.SingleTopicKafkaSpoutConfiguration;42import org.apache.storm.kafka.spout.subscription.ManualPartitioner;43import org.apache.storm.kafka.spout.subscription.TopicFilter;44import org.apache.storm.spout.SpoutOutputCollector;45import org.apache.storm.task.TopologyContext;46import org.apache.storm.utils.Time;47import org.apache.storm.utils.Time.SimulatedTime;48import org.mockito.ArgumentCaptor;49import org.mockito.InOrder;50import static org.apache.storm.kafka.spout.config.builder.SingleTopicKafkaSpoutConfiguration.createKafkaSpoutConfigBuilder;51import static org.mockito.ArgumentMatchers.any;52import static org.mockito.ArgumentMatchers.anyList;53import static org.mockito.ArgumentMatchers.anyLong;54import static org.mockito.ArgumentMatchers.anyObject;55import static org.mockito.ArgumentMatchers.anyString;56import static org.mockito.ArgumentMatchers.eq;57import static org.mockito.Mockito.mock;58import org.apache.storm.kafka.spout.subscription.ManualPartitioner;59import org.apache.storm.kafka.spout.subscription.TopicFilter;60import org.junit.jupiter.api.BeforeEach;61import org.junit.jupiter.api.Test;62public class KafkaSpoutEmitTest {63 private final long offsetCommitPeriodMs = 2_000;64 private final TopologyContext contextMock = mock(TopologyContext.class);65 private final SpoutOutputCollector collectorMock = mock(SpoutOutputCollector.class);66 private final Map<String, Object> conf = new HashMap<>();67 private final TopicPartition partition = new TopicPartition(SingleTopicKafkaSpoutConfiguration.TOPIC, 1);68 private KafkaConsumer<String, String> consumerMock;69 private KafkaSpoutConfig<String, String> spoutConfig;70 @BeforeEach71 public void setUp() {72 spoutConfig = createKafkaSpoutConfigBuilder(mock(TopicFilter.class), mock(ManualPartitioner.class), -1)73 .setOffsetCommitPeriodMs(offsetCommitPeriodMs)74 .build();75 consumerMock = mock(KafkaConsumer.class);76 }77 @Test78 public void testNextTupleEmitsAtMostOneTuple() {79 //The spout should emit at most one message per call to nextTuple80 //This is necessary for Storm to be able to throttle the spout according to maxSpoutPending81 KafkaSpout<String, String> spout = SpoutWithMockedConsumerSetupHelper.setupSpout(spoutConfig, conf, contextMock, collectorMock, consumerMock, partition);82 Map<TopicPartition, List<ConsumerRecord<String, String>>> records = new HashMap<>();83 records.put(partition, SpoutWithMockedConsumerSetupHelper.createRecords(partition, 0, 10));84 when(consumerMock.poll(anyLong()))85 .thenReturn(new ConsumerRecords<>(records));86 spout.nextTuple();87 verify(collectorMock, times(1)).emit(anyString(), anyList(), any(KafkaSpoutMessageId.class));88 }89 @Test90 public void testNextTupleEmitsFailedMessagesEvenWhenMaxUncommittedOffsetsIsExceeded() throws IOException {91 //The spout must reemit failed messages waiting for retry even if it is not allowed to poll for new messages due to maxUncommittedOffsets being exceeded92 //Emit maxUncommittedOffsets messages, and fail all of them. Then ensure that the spout will retry them when the retry backoff has passed93 try (SimulatedTime simulatedTime = new SimulatedTime()) {94 KafkaSpout<String, String> spout = SpoutWithMockedConsumerSetupHelper.setupSpout(spoutConfig, conf, contextMock, collectorMock, consumerMock, partition);95 Map<TopicPartition, List<ConsumerRecord<String, String>>> records = new HashMap<>();96 int numRecords = spoutConfig.getMaxUncommittedOffsets();97 //This is cheating a bit since maxPollRecords would normally spread this across multiple polls98 records.put(partition, SpoutWithMockedConsumerSetupHelper.createRecords(partition, 0, numRecords));99 when(consumerMock.poll(anyLong()))100 .thenReturn(new ConsumerRecords<>(records));101 for (int i = 0; i < numRecords; i++) {102 spout.nextTuple();103 }104 ArgumentCaptor<KafkaSpoutMessageId> messageIds = ArgumentCaptor.forClass(KafkaSpoutMessageId.class);105 verify(collectorMock, times(numRecords)).emit(anyString(), anyList(), messageIds.capture());106 for (KafkaSpoutMessageId messageId : messageIds.getAllValues()) {107 spout.fail(messageId);108 }109 reset(collectorMock);110 Time.advanceTime(50);111 //No backoff for test retry service, just check that messages will retry immediately112 for (int i = 0; i < numRecords; i++) {113 spout.nextTuple();114 }115 ArgumentCaptor<KafkaSpoutMessageId> retryMessageIds = ArgumentCaptor.forClass(KafkaSpoutMessageId.class);116 verify(collectorMock, times(numRecords)).emit(anyString(), anyList(), retryMessageIds.capture());117 //Verify that the poll started at the earliest retriable tuple offset118 List<Long> failedOffsets = new ArrayList<>();119 for (KafkaSpoutMessageId msgId : messageIds.getAllValues()) {120 failedOffsets.add(msgId.offset());121 }122 InOrder inOrder = inOrder(consumerMock);123 inOrder.verify(consumerMock).seek(partition, failedOffsets.get(0));124 inOrder.verify(consumerMock).poll(anyLong());125 }126 }127 @Test128 public void testSpoutWillSkipPartitionsAtTheMaxUncommittedOffsetsLimit() {129 //This verifies that partitions can't prevent each other from retrying tuples due to the maxUncommittedOffsets limit.130 try (SimulatedTime simulatedTime = new SimulatedTime()) {131 TopicPartition partitionTwo = new TopicPartition(SingleTopicKafkaSpoutConfiguration.TOPIC, 2);132 KafkaSpout<String, String> spout = SpoutWithMockedConsumerSetupHelper.setupSpout(spoutConfig, conf, contextMock, collectorMock, consumerMock, partition, partitionTwo);133 Map<TopicPartition, List<ConsumerRecord<String, String>>> records = new HashMap<>();134 //This is cheating a bit since maxPollRecords would normally spread this across multiple polls135 records.put(partition, SpoutWithMockedConsumerSetupHelper.createRecords(partition, 0, spoutConfig.getMaxUncommittedOffsets()));136 records.put(partitionTwo, SpoutWithMockedConsumerSetupHelper.createRecords(partitionTwo, 0, spoutConfig.getMaxUncommittedOffsets() + 1));137 int numMessages = spoutConfig.getMaxUncommittedOffsets()*2 + 1;138 when(consumerMock.poll(anyLong()))139 .thenReturn(new ConsumerRecords<>(records));140 for (int i = 0; i < numMessages; i++) {141 spout.nextTuple();142 }143 ArgumentCaptor<KafkaSpoutMessageId> messageIds = ArgumentCaptor.forClass(KafkaSpoutMessageId.class);144 verify(collectorMock, times(numMessages)).emit(anyString(), anyList(), messageIds.capture());145 146 //Now fail a tuple on partition one and verify that it is allowed to retry, because the failed tuple is below the maxUncommittedOffsets limit147 Optional<KafkaSpoutMessageId> failedMessageIdPartitionOne = messageIds.getAllValues().stream()148 .filter(messageId -> messageId.partition() == partition.partition())149 .findAny();150 151 spout.fail(failedMessageIdPartitionOne.get());152 153 //Also fail the last tuple from partition two. Since the failed tuple is beyond the maxUncommittedOffsets limit, it should not be retried until earlier messages are acked.154 Optional<KafkaSpoutMessageId> failedMessagePartitionTwo = messageIds.getAllValues().stream()155 .filter(messageId -> messageId.partition() == partitionTwo.partition())156 .max((msgId, msgId2) -> (int)(msgId.offset() - msgId2.offset()));157 spout.fail(failedMessagePartitionTwo.get());158 159 reset(collectorMock);160 161 Time.advanceTime(50);162 when(consumerMock.poll(anyLong()))163 .thenReturn(new ConsumerRecords<>(Collections.singletonMap(partition, SpoutWithMockedConsumerSetupHelper.createRecords(partition, failedMessageIdPartitionOne.get().offset(), 1))));164 165 spout.nextTuple();166 167 verify(collectorMock, times(1)).emit(anyObject(), anyObject(), anyObject());168 169 InOrder inOrder = inOrder(consumerMock);170 inOrder.verify(consumerMock).seek(partition, failedMessageIdPartitionOne.get().offset());171 //Should not seek on the paused partition172 inOrder.verify(consumerMock, never()).seek(eq(partitionTwo), anyLong());173 inOrder.verify(consumerMock).pause(Collections.singleton(partitionTwo));174 inOrder.verify(consumerMock).poll(anyLong());175 inOrder.verify(consumerMock).resume(Collections.singleton(partitionTwo));176 177 reset(collectorMock);178 179 //Now also check that no more tuples are polled for, since both partitions are at their limits180 spout.nextTuple();181 verify(collectorMock, never()).emit(anyObject(), anyObject(), anyObject());182 }183 }184}...
Source: AuthControllerTests.java
...105// 106// when(authenticationManager.authenticate(107// new UsernamePasswordAuthenticationToken(ArgumentMatchers.anyString(),ArgumentMatchers.anyString()))).thenReturn(authentication);108//109// when(jwtUtils.generateJwtToken(ArgumentMatchers.anyObject())).thenReturn("testJWT");110// 111// when(authentication.getPrincipal()).thenReturn(userDetails);112// when(userDetails.getAuthorities().stream().map(item -> item.getAuthority())113// .collect(Collectors.toList())).thenReturn(roles);114// 115// ResponseEntity<?> results=authController.authenticateUser(loginRequest);116// assertEquals(ResponseEntity.ok(results), results);117//118// }119// @Test120// public void registerUserTest() {121// when(userRepository.existsByUsername(ArgumentMatchers.anyString())).thenReturn(false);122// when(userRepository.existsByEmail(ArgumentMatchers.anyString())).thenReturn(false);123// Role userRole=new Role("ROLE_USER");124// when(roleRepository.findByName(ArgumentMatchers.anyObject())).thenReturn(Optional.of(userRole));125// when(userRepository.save(ArgumentMatchers.anyObject())).thenReturn(new User());126// MessageResponse msgRes=new MessageResponse("User registered successfully!");127// ResponseEntity<MessageResponse> results=(ResponseEntity<MessageResponse>) authController.registerUser(signupRequest);128// assertEquals("User registered successfully!", results.getBody().getMessage());129// }130 @Test131 public void registerUserTestWithExistingUser() {132 when(userRepository.existsByUsername(ArgumentMatchers.anyString())).thenReturn(true);133 ResponseEntity<MessageResponse> results=(ResponseEntity<MessageResponse>) authController.registerUser(signupRequest);134 assertEquals("Error: Username is already taken!", results.getBody().getMessage());135 }136 @Test137 public void registerUserTestWithExistingEmail() {138 when(userRepository.existsByUsername(ArgumentMatchers.anyString())).thenReturn(false);139 when(userRepository.existsByEmail(ArgumentMatchers.anyString())).thenReturn(true);140 ResponseEntity<MessageResponse> results=(ResponseEntity<MessageResponse>) authController.registerUser(signupRequest);141 assertEquals("Error: Email is already in use!", results.getBody().getMessage());142 }143// @Test144// public void registerUserForRoleTest() {145// when(userRepository.existsByUsername(ArgumentMatchers.anyString())).thenReturn(false);146// when(userRepository.existsByEmail(ArgumentMatchers.anyString())).thenReturn(false);147// Role userRole=new Role();148// when(roleRepository.findByName(ArgumentMatchers.anyObject())).thenReturn(Optional.of(userRole));149// when(userRepository.save(ArgumentMatchers.anyObject())).thenReturn(new User());150// MessageResponse msgRes=new MessageResponse("User registered successfully!");151// ResponseEntity<MessageResponse> results=(ResponseEntity<MessageResponse>) authController.registerUser(signupRequest);152// assertEquals("User registered successfully!", results.getBody().getMessage());153// }154// @Test155// public void registerUserForRoleNullTest() {156// when(userRepository.existsByUsername(ArgumentMatchers.anyString())).thenReturn(false);157// when(userRepository.existsByEmail(ArgumentMatchers.anyString())).thenReturn(false);158// Role userRole=new Role("ROLE_USER");159// when(roleRepository.findByName(ArgumentMatchers.anyObject())).thenReturn(Optional.of(userRole));160// when(userRepository.save(ArgumentMatchers.anyObject())).thenReturn(new User());161// MessageResponse msgRes=new MessageResponse("User registered successfully!");162// msgRes.setMessage("User registered successfully!");163// signupRequest.setRole(null);164// ResponseEntity<MessageResponse> results=(ResponseEntity<MessageResponse>) authController.registerUser(signupRequest);165// assertEquals("User registered successfully!", results.getBody().getMessage());166// }167}...
Source: TweetServiceImplTest.java
...83// @Test84// public void findAllUsersTest() {85// List<TweetUserDetail> users=new ArrayList<TweetUserDetail>();86// users.add(tweetUserDetail); 87// when(tweetService.findAllUsers(ArgumentMatchers.anyObject())).thenReturn(users);88// PageReqData page = new PageReqData();89// page.setPage(1);90// page.setSize(5);91// List<TweetUserDetail> results=tweetService.findAllUser(page);92// assertEquals(users, results);93// }94// @Test95// public void getAllTweetTest() {96// List<Tweet> tweets=new ArrayList<Tweet>();97// tweets.add(tweet);98// when(tweetService.getAllTweet(ArgumentMatchers.anyObject())).thenReturn(tweets);99// PageReqData page = Mockito.mock(PageReqData.class);100// ResponseEntity<List<Tweet>> results=tweetController.getAllTweet(page);101// assertEquals(ResponseEntity.ok(tweets), results);102// }103// 104// 105// @Test106// public void getAllTweetOfUserTest() {107// List<Tweet> tweets=new ArrayList<Tweet>();108// tweets.add(tweet);109// when(tweetService.getTweetByUser(ArgumentMatchers.anyString())).thenReturn(tweets); 110// ResponseEntity<List<Tweet>> results=tweetController.getAllTweetOfUser("id");111// assertEquals(ResponseEntity.ok(tweets), results);112// }113// 114 @Test115 public void getTweetTest() {116 Optional<Tweet> tweetOp = Optional.of(tweet);117 when(tweetRepo.findById(ArgumentMatchers.anyString())).thenReturn(tweetOp);118 Optional<Tweet> results = tweetService.getTweet("id");119 assertEquals(Optional.of(tweet), results);120 }121 @Test122 public void saveTweetTest() {123 when(tweetRepo.save(ArgumentMatchers.anyObject())).thenReturn(tweet);124 when(tweetUserDetailRepo.findById(ArgumentMatchers.anyString())).thenReturn(Optional.of(tweetUserDetail));125 Tweet results = tweetService.saveTweet("id", tweet);126 assertEquals(tweet, results);127 }128 @Test129 public void saveReplyTest() {130 when(tweetUserDetailRepo.findById(ArgumentMatchers.anyString())).thenReturn(Optional.of(tweetUserDetail));131 when(tweetRepo.findById(ArgumentMatchers.anyString())).thenReturn(Optional.of(tweet));132 when(replyRepo.save(ArgumentMatchers.anyObject())).thenReturn(reply);133 when(tweetRepo.save(ArgumentMatchers.anyObject())).thenReturn(tweet);134 Tweet results = tweetService.saveReply("userId", "tweetId", reply);135 assertEquals(tweet, results);136 }137 @Test138 public void saveUpdateTest() {139 when(tweetRepo.save(ArgumentMatchers.anyObject())).thenReturn(tweet);140 when(tweetRepo.findById(ArgumentMatchers.anyString())).thenReturn(Optional.of(tweet));141 Tweet results = tweetService.updateTweet("userId", "tweetId", tweet);142 assertEquals(tweet, results);143 }144 @Test145 public void likeTweetTest() {146 when(tweetUserDetailRepo.findById(ArgumentMatchers.anyString())).thenReturn(Optional.of(tweetUserDetail));147 when(tweetRepo.save(ArgumentMatchers.anyObject())).thenReturn(tweet);148 when(tweetRepo.findById(ArgumentMatchers.anyString())).thenReturn(Optional.of(tweet));149 Tweet results = tweetService.likeTweet("userId", "tweetId");150 assertEquals(tweet, results);151 }152 @Test153 public void deleteTweetTest() {154 doNothing().when(tweetRepo).deleteById(ArgumentMatchers.anyString());155 tweetService.deleteTweet("userId", "tweetId");156 }157}...
...58 }59 @Test60 public void getMeter() throws NullParameterException, MeterNotFoundException {61 ProfileMeter profileMeter = new ProfileMeter("0001","A", Month.APR,10D);62 Mockito.when(profileService.getProfile(ArgumentMatchers.anyString(),ArgumentMatchers.anyObject())).thenReturn(profileMeter.getMeterReading());63 ResponseEntity responseEntity = profileServiceWebResource.getMeter(profileMeter.getMeterId(),profileMeter.getMonth());64 Assert.assertTrue(responseEntity.getStatusCode().is2xxSuccessful());65 Assert.assertEquals(responseEntity.getBody(), profileMeter.getMeterReading());66 }67 @Test68 public void getMeterWithBadRequestTest() throws NullParameterException, MeterNotFoundException {69 Mockito.doThrow(NullParameterException.class).when(profileService).getProfile(ArgumentMatchers.anyString(),ArgumentMatchers.anyObject());70 ResponseEntity responseEntity = profileServiceWebResource.getMeter("0001",Month.APR);71 Assert.assertTrue(responseEntity.getStatusCode().is4xxClientError());72 }73 @Test74 public void getMeterWithNotFoundTest() throws NullParameterException, MeterNotFoundException {75 Mockito.doThrow(MeterNotFoundException.class).when(profileService).getProfile(ArgumentMatchers.anyString(),ArgumentMatchers.anyObject());76 ResponseEntity responseEntity = profileServiceWebResource.getMeter("0001",Month.APR);77 Assert.assertEquals(responseEntity.getStatusCodeValue(),NOT_FOUND);78 }79 @Test80 public void getMeterWithNotFoundTestWith0Consumption() throws NullParameterException, MeterNotFoundException {81 Mockito.when(profileService.getProfile(ArgumentMatchers.anyString(),ArgumentMatchers.anyObject())).thenReturn(0D);82 ResponseEntity responseEntity = profileServiceWebResource.getMeter("0001",Month.APR);83 Assert.assertEquals(responseEntity.getStatusCodeValue(), NOT_FOUND);84 }85 @Test86 public void getMeterWithInternalServerError() throws NullParameterException, MeterNotFoundException {87 Mockito.doThrow(NullPointerException.class).when(profileService).getProfile(ArgumentMatchers.anyString(),ArgumentMatchers.anyObject());88 ResponseEntity responseEntity = profileServiceWebResource.getMeter("0001",Month.APR);89 Assert.assertTrue(responseEntity.getStatusCode().is5xxServerError());90 }91}...
Source: TweetControllerTests.java
...62 @Test63 public void allUsersTest() {64 List<TweetUserDetail> users=new ArrayList<TweetUserDetail>();65 users.add(tweetUserDetail);66 when(tweetService.findAllUser(ArgumentMatchers.anyObject())).thenReturn(users);67 PageReqData pageData=new PageReqData();68 pageData.setPage(1);69 pageData.setSize(10);70 pageData.getPage();71 pageData.getSize();72 PageReqData page = Mockito.mock(PageReqData.class);73 ResponseEntity<List<TweetUserDetail>> results=tweetController.allUsers(page);74 assertEquals(ResponseEntity.ok(users), results);75 }76 77 @Test 78 public void getAllTweetTest() {79 List<Tweet> tweets=new ArrayList<Tweet>();80 tweets.add(tweet);81 when(tweetService.getAllTweet(ArgumentMatchers.anyObject())).thenReturn(tweets);82 PageReqData page = Mockito.mock(PageReqData.class);83 ResponseEntity<List<Tweet>> results=tweetController.getAllTweet(page);84 assertEquals(ResponseEntity.ok(tweets), results);85 }86 87 88 @Test89 public void getAllTweetOfUserTest() {90 List<Tweet> tweets=new ArrayList<Tweet>();91 tweets.add(tweet);92 when(tweetService.getTweetByUser(ArgumentMatchers.anyString(),ArgumentMatchers.anyObject())).thenReturn(tweets);93 PageReqData page=new PageReqData();94 page.setPage(1);95 page.setSize(10);96 ResponseEntity<List<Tweet>> results=tweetController.getAllTweetOfUser("id",page);97 assertEquals(ResponseEntity.ok(tweets), results);98 }99 100 @Test101 public void getTweetTest() {102 Optional<Tweet> tweetOp=Optional.of(tweet);103 when(tweetService.getTweet(ArgumentMatchers.anyString())).thenReturn(tweetOp); 104 ResponseEntity<Tweet> results=tweetController.getTweet("id");105 assertEquals(ResponseEntity.ok(tweet), results);106 }107 108 @Test109 public void saveTweetTest() {110 when(tweetService.saveTweet(ArgumentMatchers.anyString(),ArgumentMatchers.anyObject())).thenReturn(tweet); 111 ResponseEntity<Tweet> results=tweetController.saveTweet("id", tweet);112 assertEquals(ResponseEntity.ok(tweet), results);113 }114 115 @Test116 public void saveReplyTest() {117 when(tweetService.saveReply(ArgumentMatchers.anyString(),ArgumentMatchers.anyString(),ArgumentMatchers.anyObject())).thenReturn(tweet); 118 ResponseEntity<Tweet> results=tweetController.saveReply(reply,"id","id");119 assertEquals(ResponseEntity.ok(tweet), results);120 }121 122 @Test123 public void saveUpdateTest() {124 when(tweetService.updateTweet(ArgumentMatchers.anyString(),ArgumentMatchers.anyString(),ArgumentMatchers.anyObject())).thenReturn(tweet); 125 ResponseEntity<Tweet> results=tweetController.updateTweet(tweet, "id", "id");126 assertEquals(ResponseEntity.ok(tweet), results);127 }128 129 130 @Test131 public void likeTweetTest() {132 when(tweetService.likeTweet(ArgumentMatchers.anyString(),ArgumentMatchers.anyString())).thenReturn(tweet); 133 ResponseEntity<Tweet> results=tweetController.likeTweet("id", "id");134 assertEquals(ResponseEntity.ok(tweet), results);135 }136 137 138 @Test...
Source: ProjectPerspectiveTest.java
...64 when(view.getNavigationPanel()).thenReturn(simplePanel);65 when(view.getInformationPanel()).thenReturn(simpleLayoutPanel);66 when(view.getToolPanel()).thenReturn(simplePanel);67 when(controllerFactory.createController(68 org.mockito.ArgumentMatchers.<SplitLayoutPanel>anyObject(),69 org.mockito.ArgumentMatchers.<SimplePanel>anyObject()))70 .thenReturn(workBenchController);71 when(partViewFactory.create(72 org.mockito.ArgumentMatchers.<PartStackView.TabPosition>anyObject(),73 org.mockito.ArgumentMatchers.<FlowPanel>anyObject()))74 .thenReturn(partStackView);75 when(stackPresenterFactory.create(76 org.mockito.ArgumentMatchers.<PartStackView>anyObject(),77 org.mockito.ArgumentMatchers.<WorkBenchPartController>anyObject()))78 .thenReturn(partStackPresenter);79 perspective =80 new ProjectPerspective(81 view,82 editorMultiPartStackPresenter,83 stackPresenterFactory,84 partViewFactory,85 controllerFactory,86 eventBus,87 dynaProvider,88 notificationManager);89 }90 @Test91 public void perspectiveShouldBeDisplayed() {...
Source: MockitoAnyTest.java
...22import static org.mockito.ArgumentMatchers.anyDouble;23import static org.mockito.ArgumentMatchers.anyFloat;24import static org.mockito.ArgumentMatchers.anyInt;25import static org.mockito.ArgumentMatchers.anyLong;26import static org.mockito.ArgumentMatchers.anyObject;27import static org.mockito.ArgumentMatchers.anyString;28import static org.mockito.ArgumentMatchers.argThat;29import static org.mockito.ArgumentMatchers.contains;30import static org.mockito.Mockito.doCallRealMethod;31/**32 * @author lisen33 * @since 09-03-201834 */35@RunWith(RobolectricTestRunner.class)36@Config(constants = BuildConfig.class, sdk = 23)37public class MockitoAnyTest {38 @Mock39 AnyImpl model;40 @Rule41 public MockitoRule mockitoRule = MockitoJUnit.rule();42 @Before43 public void setUp(){44 ShadowLog.stream = System.out;45 }46 @Test47 public void anyTest(){48 //anyObject49 doCallRealMethod().when(model).setObject(anyObject());50 model.setObject("s");51 //any52 doCallRealMethod().when(model).setObject(any());53 model.setObject("s");54 //any55 doCallRealMethod().when(model).setObject(any(Object.class));56 model.setObject("s");57 //anyBoolean58 doCallRealMethod().when(model).setaBoolean(anyBoolean());59 model.setaBoolean(true);60 //anyCollection61 doCallRealMethod().when(model).setCollection(ArgumentMatchers.anyCollection());62 List list = new ArrayList();63 model.setCollection(list);...
Source: MockBluetoothProxyHelper.java
1package android.bluetooth;2import static org.junit.Assert.fail;3import static org.mockito.ArgumentMatchers.any;4import static org.mockito.ArgumentMatchers.anyInt;5import static org.mockito.ArgumentMatchers.anyObject;6import static org.mockito.Mockito.when;7import android.os.ParcelFileDescriptor;8import android.os.RemoteException;9import org.mockito.Mock;10import org.mockito.MockitoAnnotations;11/** Mock {@link BluetoothAdapter} in the same package to access package private methods */12public class MockBluetoothProxyHelper {13 private @Mock IBluetooth mockBluetoothService;14 private @Mock IBluetoothSocketManager mockBluetoothSocketManager;15 private @Mock ParcelFileDescriptor mockParcelFileDescriptor;16 private BluetoothAdapter mockBluetoothAdapter;17 public MockBluetoothProxyHelper(BluetoothAdapter mockBluetoothAdapter) {18 this.mockBluetoothAdapter = mockBluetoothAdapter;19 MockitoAnnotations.initMocks(this);20 // Mocks out package protected method21 when(mockBluetoothAdapter.getBluetoothService(any())).thenReturn(mockBluetoothService);22 // IBluetooth package protected method23 try {24 when(mockBluetoothService.getSocketManager()).thenReturn(mockBluetoothSocketManager);25 } catch (RemoteException e) {26 fail(e.getMessage());27 }28 // IBluetooth package protected method29 try {30 when(mockBluetoothSocketManager.connectSocket(anyObject(), anyInt(), anyObject(),31 anyInt(), anyInt())).thenReturn(mockParcelFileDescriptor);32 } catch (RemoteException e) {33 fail(e.getMessage());34 }35 }36 public void setBluetoothService(IBluetooth bluetoothProxyService) {37 when(mockBluetoothAdapter.getBluetoothService(any())).thenReturn(bluetoothProxyService);38 }39 public void setBluetoothSocketManager(IBluetoothSocketManager bluetoothSocketManager) {40 try {41 when(mockBluetoothService.getSocketManager()).thenReturn(bluetoothSocketManager);42 } catch (RemoteException e) {43 fail(e.getMessage());44 }45 }46 public void setMockParcelFileDescriptor(ParcelFileDescriptor parcelFileDescriptor) {47 try {48 when(mockBluetoothSocketManager.connectSocket(anyObject(), anyInt(), anyObject(),49 anyInt(), anyInt())).thenReturn(parcelFileDescriptor);50 } catch (RemoteException e) {51 fail(e.getMessage());52 }53 }54}...
anyObject
Using AI Code Generation
1public class AnyObjectTest {2 public void testAnyObject() {3 List<String> mockedList = mock(List.class);4 when(mockedList.get(anyInt())).thenReturn("element");5 when(mockedList.contains(anyObject())).thenReturn(true);6 assertEquals("element", mockedList.get(999));7 assertTrue(mockedList.contains("element"));8 assertTrue(mockedList.contains(999));9 }10}11Related posts: Mockito – How to use ArgumentMatchers.any() method? Mockito – How to use ArgumentMatchers.anyString() method? Mockito – How to use ArgumentMatchers.anyInt() method? Mockito – How to use ArgumentMatchers.anyList() method? Mockito – How to use ArgumentMatchers.anyMap() method? Mockito – How to use ArgumentMatchers.anySet() method? Mockito – How to use ArgumentMatchers.anyCollection() method? Mockito – How to use ArgumentMatchers.anyBoolean() method? Mockito – How to use ArgumentMatchers.anyByte() method? Mockito – How to use ArgumentMatchers.anyChar() method? Mockito – How to use ArgumentMatchers.anyDouble() method? Mockito – How to use ArgumentMatchers.anyFloat() method? Mockito – How to use ArgumentMatchers.anyLong() method? Mockito – How to use ArgumentMatchers.anyShort() method? Mockito – How to use ArgumentMatchers.anyVararg() method? Mockito – How to use ArgumentMatchers.anyList() method? Mockito – How to use ArgumentMatchers.anyMap() method? Mockito – How to use ArgumentMatchers.anySet() method? Mockito – How to use ArgumentMatchers.anyCollection() method? Mockito – How to use ArgumentMatchers.anyBoolean() method? Mockito – How to use ArgumentMatchers.anyByte() method? Mockito – How to use ArgumentMatchers.anyChar() method? Mockito – How to use ArgumentMatchers.anyDouble() method? Mockito – How to use ArgumentMatchers.anyFloat() method? Mockito – How to use ArgumentMatchers.anyLong() method? Mockito – How to use ArgumentMatchers.anyShort() method? Mockito – How to use ArgumentMatchers.anyVararg() method? Mockito – How to use ArgumentMatchers.anyList() method? Mockito – How to use ArgumentMatchers.anyMap() method? Mockito – How to use ArgumentMatchers.anySet() method? Mockito – How to use ArgumentMatchers.anyCollection() method? Mockito – How to use ArgumentMatchers.anyBoolean() method? Mockito – How to use ArgumentMatchers.anyByte() method? Mockito – How to use ArgumentMatchers.any
anyObject
Using AI Code Generation
1public class Test {2 public static void main(String[] args) {3 List<String> mockList = Mockito.mock(List.class);4 Mockito.when(mockList.get(anyInt())).thenReturn("Mockito");5 System.out.println(mockList.get(0));6 System.out.println(mockList.get(1));7 }8}9public class Test {10 public static void main(String[] args) {11 List<String> mockList = Mockito.mock(List.class);12 Mockito.when(mockList.get(anyObject())).thenReturn("Mockito");13 System.out.println(mockList.get(0));14 System.out.println(mockList.get(1));15 }16}17public class Test {18 public static void main(String[] args) {19 List<String> mockList = Mockito.mock(List.class);20 Mockito.when(mockList.get(isNull())).thenReturn("Mockito");21 System.out.println(mockList.get(0));22 System.out.println(mockList.get(1));23 }24}25public class Test {26 public static void main(String[] args) {27 List<String> mockList = Mockito.mock(List.class);28 Mockito.when(mockList.get(isA(Integer.class))).thenReturn("Mockito");29 System.out.println(mockList.get(0));30 System.out.println(mockList.get(1));31 }32}33public class Test {34 public static void main(String[] args) {35 List<String> mockList = Mockito.mock(List.class);36 Mockito.when(mockList.get(notNull())).thenReturn
anyObject
Using AI Code Generation
1import static org.mockito.ArgumentMatchers.anyObject;2import static org.mockito.Mockito.*;3import java.util.List;4import org.junit.Test;5import org.mockito.exceptions.verification.junit.ArgumentsAreDifferent;6public class MockitoTest {7 @Test(expected = ArgumentsAreDifferent.class)8 public void test() {9 List<String> mockedList = mock(List.class);10 mockedList.add("one");11 mockedList.add("two");12 verify(mockedList).add(anyObject());13 }14}15Argument(s) are different! Wanted:16list.add(17 anyObject()18);19-> at org.mockito.test.MockitoTest.test(MockitoTest.java:18)20list.add(21);22-> at org.mockito.test.MockitoTest.test(MockitoTest.java:15)23Example 2: Use of anyString() method24import static org.mockito.ArgumentMatchers.anyString;25import static org.mockito.Mockito.*;26import java.util.List;27import org.junit.Test;28import org.mockito.exceptions.verification.junit.ArgumentsAreDifferent;29public class MockitoTest {30 @Test(expected = ArgumentsAreDifferent.class)31 public void test() {32 List<String> mockedList = mock(List.class);33 mockedList.add("one");34 mockedList.add("two");35 verify(mockedList).add(anyString());36 }37}38Argument(s) are different! Wanted:39list.add(40 anyString()41);42-> at org.mockito.test.MockitoTest.test(MockitoTest.java:18)43list.add(44);45-> at org.mockito.test.MockitoTest.test(MockitoTest.java:15)46Example 3: Use of anyInt() method47import static org.mockito.ArgumentMatchers.anyInt;48import static org.mockito.Mockito.*;49import java.util.List;50import org.junit.Test;51import org.mockito.exceptions.verification.junit.ArgumentsAreDifferent;52public class MockitoTest {53 @Test(expected = ArgumentsAreDifferent.class)54 public void test() {55 List<String> mockedList = mock(List.class);56 mockedList.add("one");57 mockedList.add("two");58 verify(mockedList).add(anyInt());59 }60}
anyObject
Using AI Code Generation
1import org.mockito.ArgumentMatchers;2import org.mockito.Mockito;3public class AnyObjectTest {4 public static void main(String[] args) {5 MyClass test = Mockito.mock(MyClass.class);6 Mockito.when(test.getUniqueId()).thenReturn(43);7 System.out.println(test.getUniqueId());8 }9}10import org.mockito.Matchers;11import org.mockito.Mockito;12public class AnyObjectTest {13 public static void main(String[] args) {14 MyClass test = Mockito.mock(MyClass.class);15 Mockito.when(test.getUniqueId()).thenReturn(43);16 System.out.println(test.getUniqueId());17 }18}19The anyObject()
anyObject
Using AI Code Generation
1import static org.mockito.ArgumentMatchers.anyObject;2import static org.mockito.Mockito.mock;3import static org.mockito.Mockito.when;4import org.junit.Test;5public class AnyObjectTest {6 public void testAnyObject() {7 List<String> list = mock(List.class);8 when(list.size()).thenReturn(10);9 when(list.get(anyObject())).thenReturn("Hello");10 list.add("one");11 list.add("two");12 System.out.println("list size: " + list.size());13 System.out.println("list.get(0): " + list.get(0));14 System.out.println("list.get(1): " + list.get(1));15 }16}17list.get(0): Hello18list.get(1): Hello
anyObject
Using AI Code Generation
1import org.mockito.ArgumentMatchers;2import org.mockito.Mockito;3public class MockitoAnyObject {4 public static void main(String[] args) {5 List mockedList = Mockito.mock(List.class);6 mockedList.add("one");7 Mockito.verify(mockedList).add(ArgumentMatchers.anyObject());8 }9}10ArgumentMatchers.anyObject()11ArgumentMatchers.anyObject()
anyObject
Using AI Code Generation
1import org.mockito.ArgumentMatchers;2import org.mockito.Mockito;3import org.mockito.MockitoAnnotations;4import org.mockito.Mock;5import org.mockito.InjectMocks;6import java.util.List;7import java.util.ArrayList;8import org.junit.Before;9import org.junit.Test;10import static org.junit.Assert.assertEquals;11import static org.mockito.Mockito.when;12import static org.mockito.Mockito.verify;13import static org.mockito.Mockito.times;14import static org.mockito.Mockito.anyObject;15import static org.mockito.Mockito.any;16import static org.mockito.Mockito.anyInt;17import static org.mockito.Mockito.anyString;18import static org.mockito.Mockito.anyDouble;19import static org.mockito.Mockito.anyFloat;20import static org.mockito.Mockito.anyLong;21import static org.mockito.Mockito.anyBoolean;22import static org.mockito.Mockito.anyByte;23import static org.mockito.Mockito.anyChar;24import static org.mockito.Mockito.anyShort;25import static org.mockito.Mockito.anyVararg;26import static org.mockito.Mockito.anyList;27import static org.mockito.Mockito.anyMap;28import static org.mockito.Mockito.anySet;29import static org.mockito.Mockito.anyCollection;30import static org.mockito.Mockito.anyIterable;31import static org.mockito.Mockito.anyIterator;32import static org.mockito.Mockito.anyListIterator;33import static org.mockito.Mockito.anyMap;34import static org.mockito.Mockito.anyQueue;35import static org.mockito.Mockito.anyDe
anyObject
Using AI Code Generation
1import org.mockito.ArgumentMatchers;2public class anyObjectExample {3public static void main(String[] args) {4String str = ArgumentMatchers.anyObject(String.class);5System.out.println(str);6}7}8Read more: Mockito – anyObject(
@RunWith(MockitoJUnitRunner.class) vs MockitoAnnotations.initMocks(this)
Mockito verify() fails with "too many actual invocations"
Mockito Exception - when() requires an argument which has to be a method call on a mock
Unit testing with mockito for constructors
Mockito returnsFirstArg() to use
How to mock a void return method affecting an object
How to use Mockito when we cannot pass a mock object to an instance of a class
Mocking member variables of a class using Mockito
junit testing for user input using Scanner
How to mock forEach behavior with Mockito
MockitoJUnitRunner
gives you automatic validation of framework usage, as well as an automatic initMocks()
.
The automatic validation of framework usage is actually worth having. It gives you better reporting if you make one of these mistakes.
You call the static when
method, but don't complete the stubbing with a matching thenReturn
, thenThrow
or then
. (Error 1 in the code below)
You call verify
on a mock, but forget to provide the method call
that you are trying to verify. (Error 2 in the code below)
You call the when
method after doReturn
, doThrow
or
doAnswer
and pass a mock, but forget to provide the method that
you are trying to stub. (Error 3 in the code below)
If you don't have validation of framework usage, these mistakes are not reported until the following call to a Mockito method. This might be
If they occur in the last test that you run (like error 3 below), they won't be reported at all.
Here's how each of those types of errors might look. Assume here that JUnit runs these tests in the order they're listed here.
@Test
public void test1() {
// ERROR 1
// This compiles and runs, but it's an invalid use of the framework because
// Mockito is still waiting to find out what it should do when myMethod is called.
// But Mockito can't report it yet, because the call to thenReturn might
// be yet to happen.
when(myMock.method1());
doSomeTestingStuff();
// ERROR 1 is reported on the following line, even though it's not the line with
// the error.
verify(myMock).method2();
}
@Test
public void test2() {
doSomeTestingStuff();
// ERROR 2
// This compiles and runs, but it's an invalid use of the framework because
// Mockito doesn't know what method call to verify. But Mockito can't report
// it yet, because the call to the method that's being verified might
// be yet to happen.
verify(myMock);
}
@Test
public void test3() {
// ERROR 2 is reported on the following line, even though it's not even in
// the same test as the error.
doReturn("Hello").when(myMock).method1();
// ERROR 3
// This compiles and runs, but it's an invalid use of the framework because
// Mockito doesn't know what method call is being stubbed. But Mockito can't
// report it yet, because the call to the method that's being stubbed might
// be yet to happen.
doReturn("World").when(myMock);
doSomeTestingStuff();
// ERROR 3 is never reported, because there are no more Mockito calls.
}
Now when I first wrote this answer more than five years ago, I wrote
So I would recommend the use of the
MockitoJUnitRunner
wherever possible. However, as Tomasz Nurkiewicz has correctly pointed out, you can't use it if you need another JUnit runner, such as the Spring one.
My recommendation has now changed. The Mockito team have added a new feature since I first wrote this answer. It's a JUnit rule, which performs exactly the same function as the MockitoJUnitRunner
. But it's better, because it doesn't preclude the use of other runners.
Include
@Rule
public MockitoRule rule = MockitoJUnit.rule();
in your test class. This initialises the mocks, and automates the framework validation; just like MockitoJUnitRunner
does. But now, you can use SpringJUnit4ClassRunner
or any other JUnitRunner as well. From Mockito 2.1.0 onwards, there are additional options that control exactly what kind of problems get reported.
Check out the latest blogs from LambdaTest on this topic:
When software developers took years to create and introduce new products to the market is long gone. Users (or consumers) today are more eager to use their favorite applications with the latest bells and whistles. However, users today don’t have the patience to work around bugs, errors, and design flaws. People have less self-control, and if your product or application doesn’t make life easier for users, they’ll leave for a better solution.
In today’s tech world, where speed is the key to modern software development, we should aim to get quick feedback on the impact of any change, and that is where CI/CD comes in place.
Selenium, a project hosted by the Apache Software Foundation, is an umbrella open-source project comprising a variety of tools and libraries for test automation. Selenium automation framework enables QA engineers to perform automated web application testing using popular programming languages like Python, Java, JavaScript, C#, Ruby, and PHP.
I think that probably most development teams describe themselves as being “agile” and probably most development teams have standups, and meetings called retrospectives.There is also a lot of discussion about “agile”, much written about “agile”, and there are many presentations about “agile”. A question that is often asked is what comes after “agile”? Many testers work in “agile” teams so this question matters to us.
When I started writing tests with Cypress, I was always going to use the user interface to interact and change the application’s state when running tests.
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!