我正在处理以下问题我创建了一个以存储库(Spring Data)为依赖项的服务类,我通过构造函数注入。在本例中,我使用的是Lombok鱼
我想知道如何使用Mockito测试它,我尝试了这种方法,但它不起作用,通过参数传递的存储库接口在构造函数中变得空值。
我删除了Lombok,以便可以看到构造函数中的值变为空。
如果我将依赖项注入更改为@Autwire,它可以工作,但我想知道如何以这种方式测试它。
非常感谢你,我是这方面的初学者。
ffdz8vbo1#
我找到了一个解决方案,我这样更改了我的测试类:
来源:https://www.arhohuttunen.com/junit-5-mockito/
sz81bmfz2#
您不需要初始化AuthorService类。此外,您还需要指定响应方法也是模拟的。您可以按如下方式进行操作:
@Mock private AuthorRepository repo; @InjectMocks private AuthorService authorService; @Test public void testMethod(){ Mockito.when(authorRepository.findByNameContaining(ArgumentMatchers.any()).thenReturn(authorList); //your assertions goes here }
2条答案
按热度按时间ffdz8vbo1#
我找到了一个解决方案,我这样更改了我的测试类:
来源:https://www.arhohuttunen.com/junit-5-mockito/
sz81bmfz2#
您不需要初始化AuthorService类。此外,您还需要指定响应方法也是模拟的。您可以按如下方式进行操作: