我们如何在JUnit中模拟会话值(request.getSession())?

<div class="scale-me">
  <div class="box" style="transform: rotate(45deg)"></div>
  <div class="box" style="transform: rotate(60deg)"></div>
  <div class="box" style="transform: rotate(120deg)"></div>
</div>

如何为这种方法编写junit测试用例?我在这里面临的挑战是我们需要模拟private BankApp processSelection(HttpServletRequest request,String[] facets,String selectedText) { DebugUtility.debug(LOG,"Enter into Jiracontroller :: processDashBoardPortFolioSelection()"); BankApp project = new BankApp(); List<BankApp> dataAgg = (List<BankApp>) request.getSession() .getattribute(PROJECT_WISE_SESSION); if (CollectionUtils.isnotEmpty(dataAgg)) { List<BankApp> projects = new ArrayList<>(); for (String currentProjectId : facets) { Project currProject = vendorUtils.getProjectDetails(currentProjectId); List<SourceProjectAssocation> sourceSystem = currProject.getsourceSytems("JIRA"); List<String> jiraProjects = new ArrayList<>(); sourceSystem.stream().forEach(s -> jiraProjects.add(s.getassociatedJiraProject())); for (BankApp projectData : dataAgg) { if (jiraProjects.contains(projectData.getProjectKey())) { projects.add(projectData); } } } project = processAllProjectsData(projects); project.setProjectKey(selectedText); project.setProjectsCount(projects.size()); } DebugUtility.debug(LOG,"project in processDashBoardPortFolioSelection :: " + project); DebugUtility.debug(LOG,"Exit from Jiracontroller :: processDashBoardPortFolioSelection()"); return project; } 。所以我尝试了request.getSession().getattribute(PROJECT_WISE_SESSION),但是有了when(request.getSession()).thenReturn(session);,我得到了request.getSession()

cutmiss3 回答:我们如何在JUnit中模拟会话值(request.getSession())?

尝试类似的事情

@Test
public void test() {
    HttpServletRequest requestMock = Mockito.mock(HttpServletRequest.class);
    HttpSession sessionMock = Mockito.mock(HttpServletRequest.class);
    Mockito.when(requestMock.getSession()).thenReturn(sessionMock);

    processSelection(requestMock,<and your facets and selectedText here>)

    //do some asserts/verifies here
}
本文链接:https://www.f2er.com/3158390.html

大家都在问