我有一个jsf spring应用程序,并使用mockito进行单元测试。在IEmployeeService
模拟中运行JUnit
测试时,我一直得到NullPointerException
。对于isecurityloginservice
不存在exception
。
要嘲弄的方法
@Autowired
IEmployeeService iEmployeeService;
@Autowired
ISecurityLoginService iSecurityLoginService;
public void addEvent() {
entityEventsCreate.setTitle(entityEventsCreate.getTitle());
entityEventsCreate.setModifiedBy(iSecurityLoginService
.findLoggedInUserId());
int eventId = iEmployeeService.addEmployeeTimeOff(entityEventsCreate);
}
我的JUnit测试是用@runwith(MockitoJUnitRunner.class)
注释的
@Mock
ISecurityLoginService iSecurityLoginService;
@Mock
IEmployeeService iEmployeeService;
@InjectMocks
ServiceCalendarViewBean serviceCalendarViewBean = new ServiceCalendarViewBean();
@Before public void initMocks() {
MockitoAnnotations.initMocks(this);
}
@Test
public void testSaveEvent() {
Mockito.when(iSecurityLoginService.findLoggedInUserId()).thenReturn(1);
serviceCalendarViewBean.getEntityEventsCreate().setTitle("Junit Event Testing");
Mockito.when(iSecurityLoginService.findLoggedInUserId()).thenReturn(1);
Mockito.when(iEmployeeService.addEmployeeTimeOff(Mockito.any(Events.class))).thenReturn(2);
serviceCalendarViewBean.addEvent();
}
与问题无关,但有用的知道!
如果使用@runwith(MockitoJunitRunner.class)
对测试进行注释,则不需要mockitoAnnotations.initMocks(this);
(它甚至可能在注入时导致问题),则mockito运行程序将执行注入和其他填充以验证模拟。
同时拥有mock init机制可能会导致注入和截尾问题,这是由于JUnit测试的生命周期以及mockito单元集成代码的使用方式:
@before
方法启动并重新创建新的模拟,并且可能不会执行注入,因为对象已经初始化。我正在使用SpringRunner运行JUnit mockito测试用例,下面是类,我试图编写测试用例,但得到空对象 //Junit测试用例 但是下面的代码即使在模拟这个之后仍然返回空值,你能帮助如何模拟这个吗? 注意:只有Mockito需要使用无powermockito
我试图使用REST Sandured测试一个REST控制器(使用Quarkus)endpoint。我想模拟一个注入到控制器中的类(最好是用Mockio),但只用于我的一个测试。或者每个测试用例获得不同的行为,而不必为每个测试提供单独的类。我不知道该怎么做? 我从文档中看到过这样做:
我是JUnit和Mockito的新手,我想在我的DAO测试课中模拟我的SessionFactory,这就是我继续的方式: 这是我的刀类 但是当我运行我的测试时,我有一个< code > Java . lang . NullPointerException 异常,nullPointerException在< code > todos = session factory . getcurrentses
主要内容:代码的说明在本节中,将学习如何创建第一个Selenium自动化测试脚本。 在此测试下,将自动执行以下测试操作: 调用Firefox浏览器。 打开网址: www.baidu.com 点击百度搜索文本框。 输入关键字 - “小牛知识库” 单击“搜索”按钮。 接下来将逐步创建测试用例,以便详细了解每个组件。 第1步 - 启动Eclipse IDE并打开在本教程的上一节(配置Selenium WebDriver)中
我有一个包含三个命名的@resource成员的类,如下所示: 从1.8.5升级到Mockito 1.9.5后,测试开始失败。测试套件仅模拟了一次PaginationRequestValidator,如下所示: 这导致只有三个实例中的第三个被注入,如下sysout所示: 显然,两个版本之间的行为发生了变化。我假设旧版本将mock注入到所有三个字段中--这对我来说仍然是一个可以接受的解决方案。 作为一
本文向大家介绍Spring Boot单元测试中使用mockito框架mock掉整个RedisTemplate的示例,包括了Spring Boot单元测试中使用mockito框架mock掉整个RedisTemplate的示例的使用技巧和注意事项,需要的朋友参考一下 概述 当我们使用单元测试来验证应用程序代码时,如果代码中需要访问Redis,那么为了保证单元测试不依赖Redis,需要将整个Redis