用于Solr的Junit从AEM索引文档

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

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

qltillow

qltillow1#

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

  1. boolean deleteIndex(String indexName) {
  2. if (deleted) {
  3. return true;
  4. } else {
  5. return false;
  6. }
  7. }

J单元-

  1. @InjectMocks
  2. private ServiveImpl service = new ServiveImpl();
  3. @Test
  4. public void testIndexDeletion() {
  5. boolean indexDeleted = ServiveImpl.deleteIndex("someIndex");
  6. assertTrue(indexDeleted);
  7. }
展开查看全部

相关问题