⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testpetstoreejb.java

📁 软件测试经典书籍<<Junit in action>>里的源代码。
💻 JAVA
字号:
package junitbook.ejb.service1;

import java.util.Date;

import javax.ejb.EJBException;
import javax.jms.JMSException;

import com.mockobjects.dynamic.C;
import com.mockobjects.dynamic.Mock;

import junit.framework.TestCase;
import junitbook.ejb.domain.OrderLocal;
import junitbook.ejb.domain1.OrderFactory;
import junitbook.ejb.util1.JMSUtil;

public class TestPetstoreEJB extends TestCase
{    
    private PetstoreEJB petstore;
    private Mock mockOrderFactory;
    private Mock mockJMSUtil;
    private OrderFactory orderFactory;
    private JMSUtil jmsUtil;

    private Mock mockOrderLocal;
    private OrderLocal orderLocal;
    
    protected void setUp()
    {
        petstore = new PetstoreEJB() {};

        mockOrderLocal = new Mock(OrderLocal.class);
        orderLocal = (OrderLocal) mockOrderLocal.proxy();
        
        mockOrderFactory = new Mock(OrderFactory.class);
        orderFactory = (OrderFactory) mockOrderFactory.proxy();
                
        mockJMSUtil = new Mock(JMSUtil.class);
        jmsUtil = (JMSUtil) mockJMSUtil.proxy();

        petstore.setOrderFactory(orderFactory);
        petstore.setJMSUtil(jmsUtil);

        mockOrderFactory.expectAndReturn("createOrder", 
            C.args(C.IS_ANYTHING, C.IS_ANYTHING), orderLocal); 
        mockOrderLocal.matchAndReturn("getOrderId", 
            new Integer(1234));
    }

    protected void tearDown()
    {
        mockJMSUtil.verify();
        mockOrderFactory.verify();
        mockOrderLocal.verify();            
    }
    
    public void testCreateOrderOk() throws Exception
    {
        mockJMSUtil.expect("sendToJMSQueue",
            C.args(C.IS_ANYTHING, C.eq(new Integer(1234)), 
                C.IS_ANYTHING));
        
        int orderId = petstore.createOrder(new Date(), "item1");
        
        assertEquals(1234, orderId);
    }

    public void testCreateOrderJMSException() throws Exception
    {
        mockJMSUtil.expectAndThrow("sendToJMSQueue",
            C.args(C.IS_ANYTHING, C.eq(new Integer(1234)), 
                C.IS_ANYTHING), new JMSException("error"));

        try
        {
            petstore.createOrder(new Date(), "item1");
            fail("Should have thrown an EJBException");
        }
        catch (EJBException expected)
        {
            assertEquals("error", 
                expected.getCausedByException().getMessage());
        }
        
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -