通过构造函数注入依赖项--Mockito测试

mnemlml8  于 2022-09-18  发布在  Spring
关注(0)|答案(2)|浏览(250)

我正在处理以下问题我创建了一个以存储库(Spring Data)为依赖项的服务类,我通过构造函数注入。在本例中,我使用的是Lombok鱼

我想知道如何使用Mockito测试它,我尝试了这种方法,但它不起作用,通过参数传递的存储库接口在构造函数中变得空值。

我删除了Lombok,以便可以看到构造函数中的值变为空。

如果我将依赖项注入更改为@Autwire,它可以工作,但我想知道如何以这种方式测试它。

非常感谢你,我是这方面的初学者。

ffdz8vbo

ffdz8vbo1#

我找到了一个解决方案,我这样更改了我的测试类:

来源:https://www.arhohuttunen.com/junit-5-mockito/

sz81bmfz

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

   }

相关问题