用于Solr的Junit从AEM索引文档

u3r8eeie  于 2022-11-05  发布在  Solr
关注(0)|答案(1)|浏览(197)

我有我的ServiveImpl类,它有创建和删除从AEM到Solr的索引的公共方法。我们如何使用Mockito处理这些void方法的Junit?任何指针都将是有帮助的。主要用于测试与Solr的集成

qltillow

qltillow1#

在这种情况下,除了提供一些测试覆盖率之外,JUnit不会有任何实质性的影响。
编写Junit的原因是为了确保方法返回一个结果,或者抛出一个异常。对于void方法,唯一可以测试的是方法的执行。
要解决这个问题,最好至少返回一个布尔值,否则,您永远无法确定索引是否真的被删除了。
所以建议是-
1.请更新方法,以确保发生正确的错误行程。
1.根据方法的执行情况,至少返回一个布尔值。这不会对您的项目产生任何影响,因为该方法是void,不会影响任何调用。
1.在您的Junit中,Assert返回值为truefalse,或者只使用assertTrue方法。

boolean deleteIndex(String indexName) {

    if (deleted) {
        return true;
    } else {
        return false;
    }
}

J单元-

@InjectMocks
private ServiveImpl service = new ServiveImpl();

@Test
public void testIndexDeletion() {

    boolean indexDeleted = ServiveImpl.deleteIndex("someIndex");
    assertTrue(indexDeleted);

}

相关问题