我有一个类,它具有外部依赖性,返回列表的未来。如何模拟外部依赖?
public void meth() {
//some stuff
Future<List<String>> f1 = obj.methNew("anyString")
//some stuff
}
when(obj.methNew(anyString()).thenReturn("how to intialise some data here, like list of names")
例如,您想在任务取消时测试一个案例:
final Future<List<String>> mockedFuture = Mockito.mock(Future.class);
when(mockedFuture.isCancelled()).thenReturn(Boolean.TRUE);
when(mockedFuture.get()).thenReturn(asList("A", "B", "C"));
when(obj.methNew(anyString()).thenReturn(mockedFuture);
您可以创建未来并使用返回它,然后返回()
。在下面的情况下,我创建了一个已经完成的Future
when(f1.methNew(anyString()))
.thenReturn(CompletableFuture.completedFuture(Arrays.asList("A", "B", "C")));
我有一个测试类包含测试方法和两个服务类和。我正在为类中的方法编写JUnit测试,该类包括对类方法的调用。在我写的测试方法中 因此,当调用时,它应该返回大小为1,但不返回此列表,返回的是一个大小为0的列表。
我正在尝试为我的Spring Boot应用程序创建集成测试。其想法是启动一个嵌入式postgres db,并使用TestRestTemplate对我的控制器运行http调用。 问题是我的项目有一个我们用于redis队列的依赖项。 我曾尝试模拟依赖项,其中大多数都能正常工作,但我猜这一次它会抱怨,因为它是而不是: 依赖配置类: 我的测试配置类 我已经在我的config类中尝试了,但是原始的在启动之前
我需要在我的maven项目中添加大约15个罐子,它在远程和中央存储库中都不可用。 然而,我实现了以下目标:, > 在我的项目路径中添加了jars(\src\lib) 将pom更改如下, 我的问题是: 我是否需要像上面那样分别对所有15个JAR重复它,或者我们有任何其他方法来绑定这些JAR并将其作为一个依赖路径? Maven在这里讨论了同样的事情:指向多个JAR的系统依赖性。但我想知道我是否能得到更
我熟悉使用make构建大型应用程序,但现在我已经开始使用Android Studio,我想了解如何在Makefile中完成我已经做过的事情。 下面是一个可能有助于您确定答案的示例: Makefile示例:(极简主义) 更简单的例子: 在Gradle怎么做? 我想解决上面示例中提到的外部依赖关系。实际上,我是通过“make”来实现的,但我想完全删除这个额外的步骤。
如您所知,Maven使用存储库的概念进行依赖关系管理。 但是,如果在任何远程存储库和中央存储库中都没有依赖项,会发生什么? Maven使用External Dependency概念为这种情况提供答案。 例如,让我们对“创建Java项目”一章中创建的项目进行以下更改。 将lib文件夹添加到src文件夹。 将任何jar复制到lib文件夹中。 我们使用了ldapjdk.jar ,它是LDAP操作的帮助库
当我测试模拟外部调用时,我没有看到报告的模拟值,而是,并且我的测试失败。我可以在测试类中看到模拟值(报告),但在类中看不到,并且应用程序(方法返回)没有像我预期的那样被修改。 我的期望是:当我在Impl类中模拟外部调用时,模拟值应该在那里可用,其余的一切都会发生,就好像调用了真正的方法来完成单元测试一样。 实现代码: 测试代码: