public class BucketDetailServiceImpl extends AbstractService <Integer, BucketDetail> implements IBucketDetailService {
@Autowired
private IBucketDetailDao bucketDetailDao;
public BucketResponseWrapper createBucket() {
String accountId="12345";
BucketDetail bucketdetail = new BucketDetail();
Account account = bucketDetailDao.getAccountByAccountId(accountId);
bucketdetail.setAccount(account);
bucketdetail.setContainerId("abc");
bucketdetail = create (bucketdetail); // AbstractService.create(BucketDetail arg) //create bucket in database
BucketResponseWrapper bucketResponseWrapper = new BucketResponseWrapper ();
bucketResponseWrapper.setAccount(bucketdetail.getAccount);
bucketResponseWrappe.setContainer(bucketdetail.setContainerId);
return bucketResponseWrapper;
}
}
@RunWith(SpringRunner.class)
public class TestClass {
@Mock
private IBucketDetailDao bucketDetailDao;
@Mock // create mock for extended AbstractService
AbstractService abstractService;
@InjectMock
BucketDetailServiceImpl bucketDetailService;
@Test
public void createBucketSuccessTest(){
Account account= new Account();
account.setName("Harry");
account.setAdd("privateDrive");
BucketDetail bucketdetail = new BucketDetail();
bucketdetail.setAccount(account);
bucketdetail.setContainerId("abc");
when(bucketDetailDao.getAccountByAccountId(anyString())).thenReturn(account);
when(AbstractService.create(any(BucketDetail.class))).thenReturn(bucketDetail);
BucketResponseWrapper bucketResponseWrapper = bucketDetailService.createBucket();
assertNotNull(bucketResponseWrapper);
assetEqual(bucketResponseWrapper.getAccount,account);
}
}
i just want to know ...
why i am getting .NullPointerException here
i think because may be i cant create mock for extended super class???