You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Konrad Windszus (JIRA)" <ji...@apache.org> on 2018/10/05 10:28:01 UTC

[jira] [Resolved] (SLING-7978) Sling Mocks: Allow easy access to the ModelFactory

     [ https://issues.apache.org/jira/browse/SLING-7978?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Konrad Windszus resolved SLING-7978.
------------------------------------
    Resolution: Fixed

> Sling Mocks: Allow easy access to the ModelFactory
> --------------------------------------------------
>
>                 Key: SLING-7978
>                 URL: https://issues.apache.org/jira/browse/SLING-7978
>             Project: Sling
>          Issue Type: Improvement
>          Components: Site, Testing
>            Reporter: Konrad Windszus
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Currently you would instantiate a Sling Model in a unit test leveraging Sling Mocks via
> {code}
> @Rule
>   public SlingContext context = new SlingContext(ResourceResolverType.RESOURCERESOLVER_MOCK);
>  @Test
>   public void testModel() {
>     context.load()
>            .json(<some json resource from the classpath>, "/page1");
>     context.addModelsForClasses(MyModel.class);
>     MyModel model = context.resourceResolver().getResource("/page1").adaptTo(MyModel.class)
>   // model is now null for some reason, hard to debug why
> {code}
> In case for some reason the model cannot be instantiated it is hard to debug why (because by default the reason is only emitted in the log with level DEBUG). To ease debugging it would be nice if {{ModelFactory}} (SLING-3709) could be used, as that throws an explicit exception in case of instantiation errrors. It would be nice to give direct access to that service directly from the {{SlingContext}}.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)