我有如下的骆驼路线
public class MainRouteBuilder extends RouteBuilder {
@Autowired
private CcsRouteCommonProperties commonProps;
/**
* {@inheritDoc}
*/
@Override
public void configure() throws Exception {
}
}
我已经使用ExchangeTestSupport进行了笔试,如下所示
public class MainRouteBuilderTest extends ExchangeTestSupport {
/**
* {@inheritDoc}
*/
@Override
public RoutesBuilder createRouteBuilder() throws Exception {
}
@Test
public void shouldProcess() throws Exception {
}
}
我试图嘲笑CcsRouteCommon Properties类似于下面的@Mock私有CcsRoute公益道具;
如何使用mockito(@RunWith(MockitoJUnitRunner.class))模拟上述字段
您的问题的直接答案是在MainRouteBuilder
上使用@InjectMocks
,让Mockito注入@Mock
或@Spy
的ccsroutcommonproperties
。我希望这本简短的指南能给你解释一下。
解决方案是这样的
@RunWith(MockitoJUnitRunner.class)
public class MainRouteBuilderTest extends ExchangeTestSupport {
@Mock
CcsRouteCommonProperties commonProps;
@InjectMocks
MainRouteBuilder routeBuilder;
@Override
public RoutesBuilder createRouteBuilder() throws Exception {
return routeBuilder;
}
@Test
public void shouldProcess() throws Exception {
when(commonProps.getSomething()).thenReturn(new Something());
}
}
但是,如果我在你的位置上,我会避免使用@autowed
魔法,并使用构造函数注入明确说明的依赖关系。
路线生成器
public class MainRouteBuilder extends RouteBuilder {
private CcsRouteCommonProperties commonProps;
public MainRouteBuilder( CcsRouteCommonProperties commonProps) {
this.commonProps = commonProps;
}
/**
* {@inheritDoc}
*/
@Override
public void configure() throws Exception {
}
}
测验
@RunWith(MockitoJUnitRunner.class)
public class MainRouteBuilderTest extends ExchangeTestSupport {
@Mock
CcsRouteCommonProperties commonProps;
@Override
public RoutesBuilder createRouteBuilder() throws Exception {
return new MainRouteBuilder(commonProps);
}
@Test
public void shouldProcess() throws Exception {
}
}
问题内容: 如何在Mockito和JUnit 5中使用注入? 在JUnit4中,我可以只使用Annotation。在JUnit5中没有注释吗? 问题答案: 有多种使用Mockito的方法-我将一一介绍。 手动地 无论JUnit版本是什么(或测试框架),都可以使用Works手动创建模拟。 基于注释 使用@Mock -annotation和相应的调用 来创建嘲笑的作品无论JUnit版本(或测试框架,对
如何使用Mockito和JUnit 5的注射? 在JUnit4中,我可以只使用注释。JUnit5中没有注释吗?
问题内容: 我想使用Android Studio使用Gradle构建工具开发应用程序。我无法在上插入存储库和库。我的文件如下: 如何在项目中添加OpenCV? 问题答案: 您可以在Android Studio中轻松完成此操作。 请按照以下步骤将Open CV作为库添加到您的项目中。 libraries在项目主目录下创建一个文件夹。例如,如果您的项目是OpenCVExamples,则将创建一个Ope
我想使用Android Studio开发一个应用程序使用Gradle构建工具。我无法在上插入OpenCV repo和库。我的文件如下所示: 我如何在我的项目中添加OpenCV?
问题内容: 我想对英语句子加标签,并进行一些处理。我想使用openNLP。我已经安装了 当我执行命令时 它提供输出POSTagging Text.txt中的输入 我希望它安装正确吗? 现在如何从Java应用程序内部进行此POStagging?我已将openNLPtools,jwnl,maxent jar添加到项目中,但是如何调用POStagging? 问题答案: 这是我放在一起的一些(旧)示例代码
问题内容: 我必须在GWT入口点使用java.util.Calendar,但是在运行应用程序时出现错误,这是因为GWT无法找到源代码,无论如何我都可以解决此问题。 提前致谢!!! 问题答案: java.util.Calendar不是模拟的类。您可以在此处找到仿真类的列表: http://code.google.com/webtoolkit/doc/latest/RefJreEmulation.ht