활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.
활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.
I'm using SlingSettingsService to get runmides in the sling servlet.
Any idea how to set runmodes in the test file uisng Junit5 so the servlet could read them when you run doGet(req, res) test?
Thanks,
Eugene
해결되었습니다! 솔루션으로 이동.
조회 수
답글
좋아요 수
Hi,
We can use below code to set the run modes
@Mock
private SlingSettingsService settingsService;
Register the service
context.registerService(SlingSettingsService.class, settingsService);
Then set the runmodes required for the test cases as below
Set<String> runModes = new HashSet<>();
runModes.add("author");
when(settingsService.getRunModes()).thenReturn(runModes);
Hope this helps!
Hi,
We can use below code to set the run modes
@Mock
private SlingSettingsService settingsService;
Register the service
context.registerService(SlingSettingsService.class, settingsService);
Then set the runmodes required for the test cases as below
Set<String> runModes = new HashSet<>();
runModes.add("author");
when(settingsService.getRunModes()).thenReturn(runModes);
Hope this helps!
조회 수
답글
좋아요 수
I've come up with the working solution 🙂
Runmodes are passed to the servlet. Here's the example:
private DataUpdate servlet;
@Mock
private MockSlingHttpServletRequest req;
@Mock
private SlingSettingsService settingsService;
@Mock
private SlingSettingsService settingsService;
@BeforeEach
void setUp() {
servlet = context.registerInjectActivateService(new DataUpdate());
}
@Test
void doGet() throws ServletException, IOException {
context.runMode("author");
req = context.request();
res = context.response();
servlet.doGet(req, res);
}