小编fra*_*zez的帖子

SpringBoot Junit bean自动接线

我尝试将junit测试写入我的服务。我在我的项目spring-boot 1.5.1中使用。一切正常,但是当我尝试自动装配bean(在AppConfig.class中创建)时,它给了我NullPointerException。我已经尝试了几乎所有东西。

这是我的配置类:

@Configuration 
public class AppConfig {

@Bean
public DozerBeanMapper mapper(){
    DozerBeanMapper mapper = new DozerBeanMapper();
    mapper.setCustomFieldMapper(new CustomMapper());
    return mapper;
 }
}
Run Code Online (Sandbox Code Playgroud)

和我的测试班:

@SpringBootTest
public class LottoClientServiceImplTest {
@Mock
SoapServiceBindingStub soapServiceBindingStub;
@Mock
LottoClient lottoClient;
@InjectMocks
LottoClientServiceImpl lottoClientService;
@Autowired
DozerBeanMapper mapper;

@Before
public void setUp() throws Exception {
    initMocks(this);
    when(lottoClient.soapService()).thenReturn(soapServiceBindingStub);
}

@Test
public void getLastResults() throws Exception {

    RespLastWyniki expected = Fake.generateFakeLastWynikiResponse();
    when(lottoClient.soapService().getLastWyniki(anyString())).thenReturn(expected);

    LastResults actual = lottoClientService.getLastResults();
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我怎么了吗?

错误日志:

java.lang.NullPointerException
at pl.lotto.service.LottoClientServiceImpl.getLastResults(LottoClientServiceImpl.java:26)
at pl.lotto.service.LottoClientServiceImplTest.getLastResults(LottoClientServiceImplTest.java:45)
Run Code Online (Sandbox Code Playgroud)

这是我的服务:

@Service
public class LottoClientServiceImpl implements …
Run Code Online (Sandbox Code Playgroud)

java junit autowired spring-boot

5
推荐指数
1
解决办法
8161
查看次数

标签 统计

autowired ×1

java ×1

junit ×1

spring-boot ×1