2015-06-10 2 views
1

Данный код:Sling Mock не позволяет получить ResourceResolverFactory

public class TestExample { 
    @Rule 
    SlingContext slingContext = new SlingContext(ResourceResolverType.JCR_MOCK); 


    @Test 
    public void test() { 
    ResourceResolverFactory rrf = slingContext.getService(ResourceResolverFactory.class); 
    } 
} 

дает мне:

org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator$1 cannot be cast to org.apache.sling.api.resource.ResourceResolverFactory 
java.lang.ClassCastException 
    at example(ExampleTest.java:21) 

Должен ли я использовать slingContext.resourceResolver() метод? Он не является гибким, поскольку я хочу, из-за существующего только ResourceResolver экземпляра сразу (и он закрыт на tearDown, который мой класс делает сам по себе). Можно ли как-то избежать этой проблемы?

ответ

0

Следующий код работает для меня

public class RRFTest { 

    @Rule 
    public final SlingContext slingContext = new SlingContext(ResourceResolverType.JCR_MOCK); 

    @Test 
    public void readRootWithRRF() throws LoginException { 
     ResourceResolverFactory rrf = slingContext.getService(ResourceResolverFactory.class); 
     ResourceResolver resolver = rrf.getAdministrativeResourceResolver(null); 

     Resource resource = resolver.getResource("/"); 

     Assert.assertNotNull(resource); 
    } 
} 

с помощью следующих зависимостей

<dependency> 
    <groupId>org.apache.sling</groupId> 
    <artifactId>org.apache.sling.testing.osgi-mock</artifactId> 
    <version>1.3.0</version> 
    <scope>test</scope> 
</dependency> 
<dependency> 
    <groupId>org.apache.sling</groupId> 
    <artifactId>org.apache.sling.testing.jcr-mock</artifactId> 
    <version>1.1.6</version> 
    <scope>test</scope> 
</dependency> 
<dependency> 
    <groupId>org.apache.sling</groupId> 
    <artifactId>org.apache.sling.testing.sling-mock</artifactId> 
    <version>1.3.0</version> 
    <scope>test</scope> 
</dependency> 

Какие версии Слинг издевается вы используете?

 Смежные вопросы

  • Нет связанных вопросов^_^