baw_gov
29-03-2021
I am trying to Mock SlingSettingsService with run modes in Junit5.
In my h.java file, in Activate method I have.
srun = slingSettingsService.getRunModes().contains("runMode");How do I mock this in my htest.java file? This is for Junit5.
BrianKasingli
MVP
@baw_gov,
you can do something like this:
@ExtendWith(AemContextExtension.class) public class ExampleTest { private final AemContext context = new AemContext(); Set<String> mockRunModes = new TreeSet<String>(); @Mock private SlingSettingsService slingSettingsService; @Before public void before() { when(slingSettingsService.getRunModes()).thenReturn(mockRunModes); } @Test public void testSomething() { mockRunModes.add("publish"); Resource resource = context.resourceResolver().getResource("/content/sample/en"); Page page = resource.adaptTo(MyClass.class); // further testing } }
Bhuwan_B
Please check below articles:
https://exadel.com/news/aem-tip-junit-aemcontext-integration-with-an-aem-repository/
https://aem4beginner.blogspot.com/aem-mocks