2016-10-24 11 views
1

を交換してください。Mockitoは、私は、クラスを持っているメソッド

私はMockitoでこのコードを持っている:

package dao; 

import static org.junit.Assert.assertEquals; 
import static org.mockito.Mockito.when; 

import java.util.Date; 

import javax.ejb.EJB; 

import org.hibernate.SessionFactory; 
import org.hibernate.classic.Session; 
import org.junit.After; 
import org.junit.Before; 
import org.junit.BeforeClass; 
import org.junit.Test; 
import org.mockito.InjectMocks; 
import org.mockito.Mock; 
import org.mockito.Mockito; 

import co.com.myapp.sdii.exceptions.DAOSQLException; 
import co.com.myapp.sdii.exceptions.DAOServiceException; 
import co.com.myapp.sdii.model.pojo.ProductComercialOrder; 
import co.com.myapp.sdii.persistence.dao.core.impl.ProductComercialOrderDAO; 
import co.com.myapp.sdii.persistence.hibernate.HibernateUtil; 

public class ProductComercialOrderDAOTest { 

    public ProductComercialOrderDAO prodcomDao; 

    private ProductComercialOrder prodCom; 
    SessionFactory sessionFact = null; 
    Session session = null; 


    @Test 
    public void setUp() throws DAOServiceException, DAOSQLException{ 
     sessionFact = util.HibernateUtil.getSessionFactory(); 
     sessionFact.openSession(); 
     session = sessionFact.getCurrentSession(); 

     prodCom = new ProductComercialOrder(); 
     prodCom.setCreationDate(new Date()); 
     prodCom.setCreationUser("user1"); 
     prodCom.setId(1L); 
     prodCom.setPrdCategory("Hardware"); 
     prodCom.setPrdCategoryType("IRD"); 
     prodCom.setOrderNum(1L); 

     if(prodcomDao == null){ 
      prodcomDao = new ProductComercialOrderDAO(); 
     } 

     Mockito.spy(ProductComercialOrder.class); 
     Mockito.when(prodcomDao.getSession()).thenReturn(session); 
     prodcomDao.createProductComercialOrder(prodCom);   
    } 


} 

をしかし、私は呼び出すとき:

prodcomDao.createProductComercialOrder(prodCom); 

ProductComercialOrderDAO.getSession()ではなく、私のモックの、と呼ばれています。

どのように私は休止状態のセッションを置き換えるための方法を模擬することができますか?

答えて

関連する問題