BAEL-5545: fixed mockito mocking issue with Random class, added properties
This commit is contained in:
parent
551184076c
commit
0b5ffa01a7
@ -0,0 +1,5 @@
|
||||
spring.datasource.url=jdbc:postgresql://localhost:5432/sample-baeldung-db
|
||||
spring.datasource.username=postgres
|
||||
spring.datasource.password=root
|
||||
spring.datasource.driver-class-name=org.postgresql.Driver
|
||||
spring.datasource.hikari.data-source-properties.reWriteBatchedInserts=true
|
@ -2,12 +2,14 @@ package com.baeldung.spring.jdbc.batch.service;
|
||||
|
||||
import com.baeldung.spring.jdbc.batch.model.Product;
|
||||
import com.baeldung.spring.jdbc.batch.repo.ProductRepository;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.Captor;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
@ -20,26 +22,33 @@ import java.util.Random;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.tuple;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.mockito.Mockito.withSettings;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
class ProductServiceUnitTest {
|
||||
|
||||
@Mock
|
||||
ProductRepository productRepository;
|
||||
@Mock
|
||||
Random random;
|
||||
@Mock
|
||||
Clock clock;
|
||||
@InjectMocks
|
||||
ProductService productService;
|
||||
|
||||
@Captor
|
||||
ArgumentCaptor<List<Product>> proArgumentCaptor;
|
||||
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
this.productRepository = mock(ProductRepository.class);
|
||||
this.random = mock(Random.class, withSettings().withoutAnnotations());
|
||||
this.clock = mock(Clock.class);
|
||||
this.productService = new ProductService(this.productRepository, this.random, this.clock);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void testWhenCreateProductsThenShouldSaveAndReturnElapsedTime() {
|
||||
when(random.nextInt(4))
|
||||
|
Loading…
x
Reference in New Issue
Block a user