模拟datarepository返回null Spring

时间:2017-12-23 18:28:25

标签: java spring unit-testing junit

在我的单元测试中,我试图测试一个将域添加到存储库的服务,之后我会询问存储库是否存在新域。我的服务如下:

public class DomainService {

@Autowired
private DomainRepository  domainRepository;

public Domain findOne(int id) {

    Domain domain = domainRepository.findOne(1);

    return domain;

}
}

我会为这项服务编写一个单元测试:

@RunWith(MockitoJUnitRunner.class)
public class DomainServiceTests {

@InjectMocks
private DomainService domainService;

@Mock
private DomainRepository domains;

@Test
public void Test() {

    Domain domain1 = new Domain("PHP", "Scripting language", "http://www.google.com");
    domains.save(domain1);

    when(domainService.findOne(domain1.getId())).thenReturn(domain1);


}

}

这会在domain1.getId()调用的最后一行抛出NullPointerException。这里有什么问题? domains.save(domain1)没有出现错误,表明新域名已保存在存储库中?

0 个答案:

没有答案