testpetstoreejb.java

来自「软件测试经典书籍<<Junit in action>>里」· Java 代码 · 共 59 行

JAVA
59
字号
package junitbook.ejb.service2;

import java.util.Date;

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

import com.mockobjects.dynamic.Mock;

import junit.framework.TestCase;
import junitbook.ejb.domain.OrderLocal;

public class TestPetstoreEJB extends TestCase
{    
    private TestablePetstoreEJB petstore;
    private Mock mockOrderLocal;
    private OrderLocal orderLocal;

    protected void setUp()
    {
        petstore = new TestablePetstoreEJB();

        mockOrderLocal = new Mock(OrderLocal.class);
        orderLocal = (OrderLocal) mockOrderLocal.proxy();

        petstore.setupCreateOrderHelper(orderLocal);
        mockOrderLocal.matchAndReturn("getOrderId", 
            new Integer(1234));
    }

    protected void tearDown()
    {    
        mockOrderLocal.verify();        
    }
    
    public void testCreateOrderOk() throws Exception
    {       
        int orderId = petstore.createOrder(new Date(), "item1");

        assertEquals(1234, orderId);        
    }

    public void testCreateOrderJMSException() throws Exception
    {
        petstore.setupThrowOnSendToJMSQueueHelper(
            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 + =
减小字号Ctrl + -
显示快捷键?