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.model.Product;
|
||||||
import com.baeldung.spring.jdbc.batch.repo.ProductRepository;
|
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.Test;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
import org.mockito.ArgumentCaptor;
|
import org.mockito.ArgumentCaptor;
|
||||||
import org.mockito.Captor;
|
import org.mockito.Captor;
|
||||||
import org.mockito.InjectMocks;
|
import org.mockito.InjectMocks;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.mockito.junit.jupiter.MockitoExtension;
|
import org.mockito.junit.jupiter.MockitoExtension;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
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.assertThat;
|
||||||
import static org.assertj.core.api.Assertions.tuple;
|
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.times;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
import static org.mockito.Mockito.withSettings;
|
||||||
|
|
||||||
@ExtendWith(MockitoExtension.class)
|
@ExtendWith(MockitoExtension.class)
|
||||||
class ProductServiceUnitTest {
|
class ProductServiceUnitTest {
|
||||||
|
|
||||||
@Mock
|
|
||||||
ProductRepository productRepository;
|
ProductRepository productRepository;
|
||||||
@Mock
|
|
||||||
Random random;
|
Random random;
|
||||||
@Mock
|
|
||||||
Clock clock;
|
Clock clock;
|
||||||
@InjectMocks
|
|
||||||
ProductService productService;
|
ProductService productService;
|
||||||
|
|
||||||
@Captor
|
@Captor
|
||||||
ArgumentCaptor<List<Product>> proArgumentCaptor;
|
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
|
@Test
|
||||||
void testWhenCreateProductsThenShouldSaveAndReturnElapsedTime() {
|
void testWhenCreateProductsThenShouldSaveAndReturnElapsedTime() {
|
||||||
when(random.nextInt(4))
|
when(random.nextInt(4))
|
||||||
|
2
pom.xml
2
pom.xml
@ -1260,7 +1260,7 @@
|
|||||||
<module>testing-modules/testing-assertions</module>
|
<module>testing-modules/testing-assertions</module>
|
||||||
<module>persistence-modules/fauna</module>
|
<module>persistence-modules/fauna</module>
|
||||||
<module>lightrun</module>
|
<module>lightrun</module>
|
||||||
<module>persistence-modules/spring-jdbc-batch</module>
|
<module>persistence-modules/spring-jdbc-batch</module>
|
||||||
</modules>
|
</modules>
|
||||||
</profile>
|
</profile>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user