[
https://issues.apache.org/jira/browse/SLING-7978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16638523#comment-16638523
]
Stefan Seifert commented on SLING-7978:
---------------------------------------
it's just one code line away:
{code:java}
MyModel model =
context.getService(ModelFactory.class).createModel(context.resourceResolver().getResource("/page1"),
MyModel.class)
{code}
not sure if it's worth adding a convenience method to the context object itself
for this.
(and it's definitely not a bug ...)
> Sling Mocks: Allow easy access to the ModelFactory
> --------------------------------------------------
>
> Key: SLING-7978
> URL: https://issues.apache.org/jira/browse/SLING-7978
> Project: Sling
> Issue Type: Bug
> Components: Testing
> Affects Versions: Testing Sling Mock 2.3.4
> Reporter: Konrad Windszus
> Priority: Major
>
> 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)