【发布时间】:2020-03-02 00:22:42
【问题描述】:
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;
}
我们如何为这个方法编写 junit 测试用例?我在这里面临的挑战是我们需要模拟request.getSession().getAttribute(PROJECT_WISE_SESSION)。所以我尝试了when(request.getSession()).thenReturn(session);,但使用request.getSession(),我得到了null。
【问题讨论】:
-
请提供格式化代码
标签: java spring-boot session junit mockito