![](/img/trans.png)
[英]Method is not gettting mocked (Mockito.when().thenReturn()) and not returning specified mock value
[英]mockito.when is returning null value
在 CrossSellOffersServiceAdapter class 中,此语句:
crossSellOffersConnectBDS.getBDSCustomerInfo(channelId, customerId, cinSuffix,
countryCode);
应该在模拟时返回该值。 但它在 CrossSellOffersServiceAdapterTest class 中返回 null 值。
public class CrossSellOffersServiceAdapter implements CrossSellOffersService {
@Autowired
private CrossSellOffersConnectBDS crossSellOffersConnectBDS;
@Autowired
private CrossSellOffersConnectCMP crossSellOffersConnectCMP;
@Autowired
private BDSCustomerHoldings bdsCustomerHoldings;
private static final Logger LOGGER = LoggerFactory.getLogger(CrossSellOffersServiceAdapter.class);
@Override
public Offers getApplicableOffers(String channelId, String customerId, String cinSuffix, String countryCode,
String interactionPoint, String sessionId, Integer numberOfOffers) throws CrossSellOffersException {
bdsCustomerHoldings = crossSellOffersConnectBDS.getBDSCustomerInfo(channelId, customerId, cinSuffix,
countryCode);
CMPOffer cmpOffer = crossSellOffersConnectCMP.getCMPOffers(bdsCustomerHoldings, interactionPoint, sessionId,
numberOfOffers);
Offers offers = getOffers(cmpOffer);
return offers;
}
}
public class CrossSellOffersServiceAdapterTest {
@InjectMocks
private CrossSellOffersServiceAdapter crossSellOffersService;
@Mock
private CrossSellOffersConnectBDSAdapter crossSellOffersConnectBDS;
@Mock
private CrossSellOffersConnectCMPAdapter crossSellOffersConnectCMP;
@Mock
private RestTemplate restTemplate;
@Mock
OffersRequest offersRq;
@Mock
private BDSRequest bdsRequest ;
@Mock
private BDSCustomerHoldings bdsResponse;
@Test
public void getApplicableOffersTest() throws CrossSellOffersException {
Mockito.when(crossSellOffersConnectBDS.getBDSCustomerInfo("MBSG", "S9718016D", "00", "SG")).thenReturn(sampleBDSResponse());
Mockito.when(crossSellOffersConnectCMP.getCMPOffers(bdsResponse, "NEW_CC_ADDON", "IBOXS007", 1)).thenReturn(CrossSellOffersConnectCMPAdapterTest.sampleCMPOffer());
Offers offers = crossSellOffersService.getApplicableOffers("MBSG", "IBOXS007", "00", "SG","NEW_CC_ADDON", "S9718016D", 1);
assertNotNull(offers, "response is not null");
}
}
认为您缺少 mockito 初始化:
import org.mockito.MockitoAnnotations;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.