mockito测试用例中的ClientResponse失败



Iam正在处理mockito测试用例,阳性测试方法正在执行,但与异常测试方法相结合,其失败与异常

java.lang.Exception: Unexpected exception, expected<com.apple.ist.retail.xcard.common.exception.InvalidArgumentException> but was<org.jboss.resteasy.client.ClientResponseFailure>
    at 

下面是失败的测试方法及其包含客户端对象的父类

package com.apple.ist.retail.xcard.ws.exception;

public class TestActivatePrepaidCard extends CertificateResourceTestCase {
    public TestActivatePrepaidCard(String aMediaType) {
        super(aMediaType);
    }
    @Before
    public void setUp() {
        super.setUp();
    }
    @Test(expected = InvalidArgumentException.class)
    public void testActivatePrepaidCard_InvalidArgumentException()
            throws DuplicateCertificateIDException, InvalidArgumentException,
            DupTxnRefException, AmountException, SystemException,
            XCardException {
        when(
                server.activatePrepaidCard(any(DiagnosticContext.class),
                        any(String.class), any(Number.class),
                        any(Amount.class), any(String.class), any(int.class),
                        any(HashMap.class), any(String.class),
                        any(SalesOrg.class), any(TxnRef.class))).thenThrow(
                new InvalidArgumentException("Invalid Argument ",
                        INVALID_ARGUMENT));
        client.activatePrepaidCard(certificateRequest);
    }

它在客户端附近失败。activateRepaidCard(certificateRequest);具有ClientResponseFailure异常父测试用例是

package com.apple.ist.retail.xcard.ws.exception;
@RunWith(value = Parameterized.class)
public abstract class CertificateResourceTestCase extends Assert {
    protected CertificateResource client;
    protected XCardServiceServer server;
    protected CertificateResource resource;
    protected CertificateRequest certificateRequest;

//  protected Dispatcher dispatcher = MockDispatcherFactory.createDispatcher();

    private String mediaType;
    public CertificateResourceTestCase(String aMediaType) {
        this.mediaType = aMediaType;
        server = mock(XCardServiceServer.class);
        CertificateResourceImpl xcardServiceRs = new CertificateResourceImpl();
        xcardServiceRs.setService(server);
        Dispatcher dispatcher = MockDispatcherFactory.createDispatcher();
        dispatcher.getRegistry().addSingletonResource(xcardServiceRs);
        dispatcher.getProviderFactory().addExceptionMapper(
                XCardExceptionMapper.class);
        dispatcher.getProviderFactory().addExceptionMapper(
                BusinessExceptionMapper.class);
        dispatcher.getProviderFactory().addExceptionMapper(
                RuntimeExceptionMapper.class);
        dispatcher.getProviderFactory().addExceptionMapper(
                BusinessExceptionMapper.class);
        dispatcher.getProviderFactory().addExceptionMapper(
                RuntimeExceptionMapper.class);
        dispatcher.getProviderFactory()
                .getServerMessageBodyWriterInterceptorRegistry()
                .register(new XCardTxnWriterInterceptor());
        dispatcher.getProviderFactory().getContextDataMap()
                .put(HttpServletRequest.class, new MockHttpServletRequest());
        client = ProxyFactory.create(CertificateResource.class, "/", new InMemoryClientExecutor(dispatcher));
        diagnosticContext.setReportingRecommended(false);
    }
    @After
    public void tearDown() throws Exception {
        Mockito.reset(server);
    }

请让我知道我的代码出了什么问题,我正在粘贴完整的代码,这样我就不会错过任何细节

您的代码正在引发ClientResponseFailure。调试测试并找出原因。使用异常断点。

相关内容

  • 没有找到相关文章