在AEM代码库的WCM.IO junit测试框架中将QueryBuilder设置为NULL

在AEM代码库的WCM.IO junit测试框架中将QueryBuilder设置为NULL,junit,aem,Junit,Aem,我们在WCM.IO junit实现中将QueryBuilder设置为NULL QueryBuilder querybuilder = getSlingScriptHelper().getService(QueryBuilder.class); Query query = querybuilder.createQuery(PredicateGroup.create(queryMap), session); 当我们通过wcm.io实现编写Junit测试类时,上面的“querybuilder”是空的

我们在WCM.IO junit实现中将QueryBuilder设置为NULL

QueryBuilder querybuilder = getSlingScriptHelper().getService(QueryBuilder.class);
Query query = querybuilder.createQuery(PredicateGroup.create(queryMap), session);
当我们通过wcm.io实现编写Junit测试类时,上面的“querybuilder”是空的

我们使用wcm.io方法在wcm.io junit类中注册QueryBuilder服务。我们使用的方法:

context.registerService(QueryBuilder.class, new QueryBuilderImpl()); 
context.registerInjectActivateService(new QueryBuilderImpl());

尝试使用以下方法模拟QueryBuilder:

QueryBuilder qb= mock(QueryBuilder.class);
TestClass obj = new TestClass(){
    @Override
    public SlingScriptHelper getSlingScriptHelper() {
        return slingScriptHelper;
    };
};
然后使用它:

 when(carouselComponent.getSlingScriptHelper().getService(QueryBuilder.class)).thenReturn(qb);

您使用的是哪一版本的AEM?Ekta我们使用的是AEM6.1这在2018年还会继续吗?