繁体   English   中英

mockito.when 正在返回 null 值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM