how to handle CriteriaBuilder and predicates in junit mockito testcase










1















 Impl.java
------------------------------------------------------------------
public List<SearchDTO> findByCriteria(SearchCriteriaDTO SearchCriteriaDTO) {
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Search> query = builder.createQuery(Search.class);
Root<Search> repls = query.from(Search.class);


final int QUERY_LIMIT = Integer.parseInt(queryLimit);



 List<UUID> statusIds = SearchCriteriaDTO.getStatusIds();
if (statusIds != null && !statusIds.isEmpty())
predicates.add(builder.and(repl.get("statusId").in(statusIds)));

-----------------------------


below is the test class for impl class.



 impltest.java
---------------------------
//mocking the services.
@Mock
private SearchMapper SearchMapper;
@Mock
private SearchRepository SearchRepository;

@Mock
private CriteriaBuilder criteriaBuilder;

@Mock
private Root root;

@Mock
private EntityManager entityManager;
@Rule
public ExpectedException thrown = ExpectedException.none();

@Mock
CriteriaQuery<Search> criteriaQuery;

@Mock
Root<UUID> statusId;

@Mock
Path<String> path;

@Mock
Expression expr;

@Mock
Predicate predicate;

@Mock
TypedQuery<Member> querymem;

@Mock
Root<Search> rSearchRootMock;

@InjectMocks

private SearchServiceImpl SearchService;

@Value("$query.limit")

String queryLimit;

@Before
public void init()

MockitoAnnotations.initMocks(SearchService);
SearchRootMock = mock(Root.class);

@Test
public void test_findby_criteria() {
hen(entityManager.getCriteriaBuilder()).thenReturn(criteriaBuilder); when(criteriaBuilder.createQuery(Search.class)).thenReturn(criteriaQuery);
when(criteriaQuery.from(Search.class)).thenReturn(SearchRootMock);
Path statusIdMock = mock(Path.class);

//when(Integer.parseInt(queryLimit)).thenReturn(1);
String status = "statusId";

Expression<String> doublePath = root.get(status);
when(root.get((status))).thenReturn((Path) doublePath);
when(criteriaBuilder.upper(root.<String>get(status))).thenReturn(expr);
when(criteriaBuilder.equal(expr,status.toUpperCase())).thenReturn(predicate);

when(root.get("statusId")).thenReturn(path);
when(this.SearchService.findByCriteria(SearchCriteriaDTO)).thenReturn(Searches);

here i am trying to mock the predicate but getting null point exception due to root.get("statusId").
please let me know how to mock it.


here are the issues



how to handle and mock the @Value("$query.limit") where i am reading limit from application properties file.
getting null point exception in predicate line.
predicates.add(builder.and(repl.get("statusId").in(statusIds)));



 not able to map the column name here for repl.get("statusId") where getting null.


please help me to solve this problem.Thanks



below is the error
java.lang.NumberFormatException: For input string: "$query.limit"



at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:569)
at java.lang.Integer.parseInt(Integer.java:615)
at com.capturerx.cumulus4.replenishment.impl.ReplenishmentSearchServiceImplTest.test_findby_criteria_for_success(ReplenishmentSearchServiceImplTest.java:118)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)



getting java.lang.NullPointerException at line
query.select(replenishments).where(predicates.toArray(new Predicate[predicates.size()]));










share|improve this question
























  • Please try to find solution for the above issue.

    – Srikanth
    Dec 6 '18 at 16:03















1















 Impl.java
------------------------------------------------------------------
public List<SearchDTO> findByCriteria(SearchCriteriaDTO SearchCriteriaDTO) {
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Search> query = builder.createQuery(Search.class);
Root<Search> repls = query.from(Search.class);


final int QUERY_LIMIT = Integer.parseInt(queryLimit);



 List<UUID> statusIds = SearchCriteriaDTO.getStatusIds();
if (statusIds != null && !statusIds.isEmpty())
predicates.add(builder.and(repl.get("statusId").in(statusIds)));

-----------------------------


below is the test class for impl class.



 impltest.java
---------------------------
//mocking the services.
@Mock
private SearchMapper SearchMapper;
@Mock
private SearchRepository SearchRepository;

@Mock
private CriteriaBuilder criteriaBuilder;

@Mock
private Root root;

@Mock
private EntityManager entityManager;
@Rule
public ExpectedException thrown = ExpectedException.none();

@Mock
CriteriaQuery<Search> criteriaQuery;

@Mock
Root<UUID> statusId;

@Mock
Path<String> path;

@Mock
Expression expr;

@Mock
Predicate predicate;

@Mock
TypedQuery<Member> querymem;

@Mock
Root<Search> rSearchRootMock;

@InjectMocks

private SearchServiceImpl SearchService;

@Value("$query.limit")

String queryLimit;

@Before
public void init()

MockitoAnnotations.initMocks(SearchService);
SearchRootMock = mock(Root.class);

@Test
public void test_findby_criteria() {
hen(entityManager.getCriteriaBuilder()).thenReturn(criteriaBuilder); when(criteriaBuilder.createQuery(Search.class)).thenReturn(criteriaQuery);
when(criteriaQuery.from(Search.class)).thenReturn(SearchRootMock);
Path statusIdMock = mock(Path.class);

//when(Integer.parseInt(queryLimit)).thenReturn(1);
String status = "statusId";

Expression<String> doublePath = root.get(status);
when(root.get((status))).thenReturn((Path) doublePath);
when(criteriaBuilder.upper(root.<String>get(status))).thenReturn(expr);
when(criteriaBuilder.equal(expr,status.toUpperCase())).thenReturn(predicate);

when(root.get("statusId")).thenReturn(path);
when(this.SearchService.findByCriteria(SearchCriteriaDTO)).thenReturn(Searches);

here i am trying to mock the predicate but getting null point exception due to root.get("statusId").
please let me know how to mock it.


here are the issues



how to handle and mock the @Value("$query.limit") where i am reading limit from application properties file.
getting null point exception in predicate line.
predicates.add(builder.and(repl.get("statusId").in(statusIds)));



 not able to map the column name here for repl.get("statusId") where getting null.


please help me to solve this problem.Thanks



below is the error
java.lang.NumberFormatException: For input string: "$query.limit"



at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:569)
at java.lang.Integer.parseInt(Integer.java:615)
at com.capturerx.cumulus4.replenishment.impl.ReplenishmentSearchServiceImplTest.test_findby_criteria_for_success(ReplenishmentSearchServiceImplTest.java:118)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)



getting java.lang.NullPointerException at line
query.select(replenishments).where(predicates.toArray(new Predicate[predicates.size()]));










share|improve this question
























  • Please try to find solution for the above issue.

    – Srikanth
    Dec 6 '18 at 16:03













1












1








1


1






 Impl.java
------------------------------------------------------------------
public List<SearchDTO> findByCriteria(SearchCriteriaDTO SearchCriteriaDTO) {
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Search> query = builder.createQuery(Search.class);
Root<Search> repls = query.from(Search.class);


final int QUERY_LIMIT = Integer.parseInt(queryLimit);



 List<UUID> statusIds = SearchCriteriaDTO.getStatusIds();
if (statusIds != null && !statusIds.isEmpty())
predicates.add(builder.and(repl.get("statusId").in(statusIds)));

-----------------------------


below is the test class for impl class.



 impltest.java
---------------------------
//mocking the services.
@Mock
private SearchMapper SearchMapper;
@Mock
private SearchRepository SearchRepository;

@Mock
private CriteriaBuilder criteriaBuilder;

@Mock
private Root root;

@Mock
private EntityManager entityManager;
@Rule
public ExpectedException thrown = ExpectedException.none();

@Mock
CriteriaQuery<Search> criteriaQuery;

@Mock
Root<UUID> statusId;

@Mock
Path<String> path;

@Mock
Expression expr;

@Mock
Predicate predicate;

@Mock
TypedQuery<Member> querymem;

@Mock
Root<Search> rSearchRootMock;

@InjectMocks

private SearchServiceImpl SearchService;

@Value("$query.limit")

String queryLimit;

@Before
public void init()

MockitoAnnotations.initMocks(SearchService);
SearchRootMock = mock(Root.class);

@Test
public void test_findby_criteria() {
hen(entityManager.getCriteriaBuilder()).thenReturn(criteriaBuilder); when(criteriaBuilder.createQuery(Search.class)).thenReturn(criteriaQuery);
when(criteriaQuery.from(Search.class)).thenReturn(SearchRootMock);
Path statusIdMock = mock(Path.class);

//when(Integer.parseInt(queryLimit)).thenReturn(1);
String status = "statusId";

Expression<String> doublePath = root.get(status);
when(root.get((status))).thenReturn((Path) doublePath);
when(criteriaBuilder.upper(root.<String>get(status))).thenReturn(expr);
when(criteriaBuilder.equal(expr,status.toUpperCase())).thenReturn(predicate);

when(root.get("statusId")).thenReturn(path);
when(this.SearchService.findByCriteria(SearchCriteriaDTO)).thenReturn(Searches);

here i am trying to mock the predicate but getting null point exception due to root.get("statusId").
please let me know how to mock it.


here are the issues



how to handle and mock the @Value("$query.limit") where i am reading limit from application properties file.
getting null point exception in predicate line.
predicates.add(builder.and(repl.get("statusId").in(statusIds)));



 not able to map the column name here for repl.get("statusId") where getting null.


please help me to solve this problem.Thanks



below is the error
java.lang.NumberFormatException: For input string: "$query.limit"



at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:569)
at java.lang.Integer.parseInt(Integer.java:615)
at com.capturerx.cumulus4.replenishment.impl.ReplenishmentSearchServiceImplTest.test_findby_criteria_for_success(ReplenishmentSearchServiceImplTest.java:118)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)



getting java.lang.NullPointerException at line
query.select(replenishments).where(predicates.toArray(new Predicate[predicates.size()]));










share|improve this question
















 Impl.java
------------------------------------------------------------------
public List<SearchDTO> findByCriteria(SearchCriteriaDTO SearchCriteriaDTO) {
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Search> query = builder.createQuery(Search.class);
Root<Search> repls = query.from(Search.class);


final int QUERY_LIMIT = Integer.parseInt(queryLimit);



 List<UUID> statusIds = SearchCriteriaDTO.getStatusIds();
if (statusIds != null && !statusIds.isEmpty())
predicates.add(builder.and(repl.get("statusId").in(statusIds)));

-----------------------------


below is the test class for impl class.



 impltest.java
---------------------------
//mocking the services.
@Mock
private SearchMapper SearchMapper;
@Mock
private SearchRepository SearchRepository;

@Mock
private CriteriaBuilder criteriaBuilder;

@Mock
private Root root;

@Mock
private EntityManager entityManager;
@Rule
public ExpectedException thrown = ExpectedException.none();

@Mock
CriteriaQuery<Search> criteriaQuery;

@Mock
Root<UUID> statusId;

@Mock
Path<String> path;

@Mock
Expression expr;

@Mock
Predicate predicate;

@Mock
TypedQuery<Member> querymem;

@Mock
Root<Search> rSearchRootMock;

@InjectMocks

private SearchServiceImpl SearchService;

@Value("$query.limit")

String queryLimit;

@Before
public void init()

MockitoAnnotations.initMocks(SearchService);
SearchRootMock = mock(Root.class);

@Test
public void test_findby_criteria() {
hen(entityManager.getCriteriaBuilder()).thenReturn(criteriaBuilder); when(criteriaBuilder.createQuery(Search.class)).thenReturn(criteriaQuery);
when(criteriaQuery.from(Search.class)).thenReturn(SearchRootMock);
Path statusIdMock = mock(Path.class);

//when(Integer.parseInt(queryLimit)).thenReturn(1);
String status = "statusId";

Expression<String> doublePath = root.get(status);
when(root.get((status))).thenReturn((Path) doublePath);
when(criteriaBuilder.upper(root.<String>get(status))).thenReturn(expr);
when(criteriaBuilder.equal(expr,status.toUpperCase())).thenReturn(predicate);

when(root.get("statusId")).thenReturn(path);
when(this.SearchService.findByCriteria(SearchCriteriaDTO)).thenReturn(Searches);

here i am trying to mock the predicate but getting null point exception due to root.get("statusId").
please let me know how to mock it.


here are the issues



how to handle and mock the @Value("$query.limit") where i am reading limit from application properties file.
getting null point exception in predicate line.
predicates.add(builder.and(repl.get("statusId").in(statusIds)));



 not able to map the column name here for repl.get("statusId") where getting null.


please help me to solve this problem.Thanks



below is the error
java.lang.NumberFormatException: For input string: "$query.limit"



at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:569)
at java.lang.Integer.parseInt(Integer.java:615)
at com.capturerx.cumulus4.replenishment.impl.ReplenishmentSearchServiceImplTest.test_findby_criteria_for_success(ReplenishmentSearchServiceImplTest.java:118)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)



getting java.lang.NullPointerException at line
query.select(replenishments).where(predicates.toArray(new Predicate[predicates.size()]));







unit-testing spring-boot jpa junit mockito






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 14 '18 at 8:29







Srikanth

















asked Nov 13 '18 at 9:55









Srikanth Srikanth

92




92












  • Please try to find solution for the above issue.

    – Srikanth
    Dec 6 '18 at 16:03

















  • Please try to find solution for the above issue.

    – Srikanth
    Dec 6 '18 at 16:03
















Please try to find solution for the above issue.

– Srikanth
Dec 6 '18 at 16:03





Please try to find solution for the above issue.

– Srikanth
Dec 6 '18 at 16:03












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53278296%2fhow-to-handle-criteriabuilder-and-predicates-in-junit-mockito-testcase%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53278296%2fhow-to-handle-criteriabuilder-and-predicates-in-junit-mockito-testcase%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Use pre created SQLite database for Android project in kotlin

Darth Vader #20

Ondo