Junit5 shows always 0% coverage in Intellij
Hi All,
I have created Junit5 class for the below code.
package com.test.core.models;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.models.annotations.Model;
import org.apache.sling.models.annotations.Required;
import org.apache.sling.models.annotations.injectorspecific.Self;
import org.apache.sling.models.annotations.injectorspecific.SlingObject;
import org.apache.sling.settings.SlingSettingsService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
import java.io.IOException;
@Model(adaptables = SlingHttpServletRequest.class)
public class RedirectionModel {
@1961677
private SlingHttpServletRequest request;
@SlingObject
private SlingHttpServletResponse response;
@586265
@Required
private String redirectURL;
@586265
private SlingSettingsService slingSettingsService;
private static final Logger log = LoggerFactory.getLogger(RedirectionModel.class);
@PostConstruct
protected void init() {
log.info("PageRedirectModel: init method");
Resource resource ;
resource = request.getResource();
String redirectTarget = resource.getResourceResolver().map(request, redirectURL);
log.info("redirectTarget Url {}",redirectTarget);
if (redirectTarget != null && redirectTarget.startsWith("/content/")) {
redirectTarget += ".html";
}
try {
log.info("in try");
response.sendRedirect(redirectTarget);
} catch (IOException e) {
log.error("[RedirectUtils] Failed to execute redirect", e);
}
}
}
Junit5 class
package com.test.core.models;
import com.day.cq.wcm.api.Page;
import io.wcm.testing.mock.aem.junit5.AemContext;
import io.wcm.testing.mock.aem.junit5.AemContextExtension;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.testing.mock.sling.servlet.MockSlingHttpServletRequest;
import org.apache.sling.testing.mock.sling.servlet.MockSlingHttpServletResponse;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import static org.junit.jupiter.api.Assertions.*;
@ExtendWith(AemContextExtension.class)
public class RedirectionModelTest {
public RedirectionModel redirectionModel;
private Page page;
private Resource resource;
private String RedirectUrl;
@Mock
MockSlingHttpServletRequest request;
@Mock
MockSlingHttpServletResponse response;
@BeforeEach
public void setUp(AemContext context) throws Exception{
RedirectUrl="/content/mykp/homepage";
page = context.create().page("/content/mykp/en");
resource = context.resourceResolver().getResource("/content/mykp/en");
redirectionModel=resource.adaptTo(RedirectionModel.class);
}
@2785667
public void init() {
String redirectTarget = resource.getResourceResolver().map(request, this.RedirectUrl);
if(redirectTarget.startsWith("/content")&& redirectTarget!=null) {
redirectTarget += ".html";
}
assertEquals("/content/mykp/homepage.html",redirectTarget);
}
}
after run Test with code converge it is showing me always 0% in IntelliJ.
did i miss anything?
