Junits在maven构建期间失败了吗?

时间:2017-02-05 15:00:13

标签: spring maven junit maven-3 junit4

在使用Maven和eclipse进行测试时,我需要一些关于Junits的小信息。 当我在eclipse中运行测试用例时通过。但是,当我通过maven运行失败时,相同的测试用例。我正在使用Spring和Junit。 testInsertClassUnit执行成功后。执行testInsertMap()方法的flushHibernateSession()时,它挂起。

Java文件:

 class AbstractTest extends AbstractTransactionalJUnit4SpringContextTests{
 /**
    * Flushes the SessionFactory currently associated to TransactionManager bean.
    */
   protected void changeTransactionDataSource(SessionFactory pSessionFactory) {
      HibernateTransactionManager vTransactionManager = (HibernateTransactionManager) this.applicationContext.getBean(
            "transactionManagerHibernate");
      vTransactionManager.setSessionFactory(pSessionFactory);
      vTransactionManager.setDataSource(SessionFactoryUtils.getDataSource(pSessionFactory));

   }

}

    public class AbstractTest extends AbstractTest {

   private BefClassUnit mBefClassUnit;
   private SessionFactory mSessionFactory;


   @Autowired
   @Qualifier("sessionFactoryCorporateBaseData")
   public void setSessionFactoryCorporateBaseData(SessionFactory pSessionFactory) {
      this.mSessionFactory = pSessionFactory;
   }

   @Autowired
   @Qualifier("dataSourceBatch")
    public void setDataSource(DataSource pDataSource) { 

        super.setDataSource(pDataSource);
    }

   @BeforeTransaction
      public void onSetUpBeforeTransaction() throws Exception {
      changeTransactionDataSource(mSessionFactory);
   }

  @Before
  public void onSetUpInTransaction() throws Exception {
      deleteFromTable(ClassUnitColumns.TABLE_NAME);
   }

   /**
    * Test insert(ClassUnit pClassUnit).
    */
  @Test
   public void testInsertClassUnit() {

      ClassUnit vClassUnit = getClassUnit("BU", "STO", "999", new DateTime(), new DateTime());

      try {
         getBefClassUnit().insert(vClassUnit);
         flushHibernateSession(mSessionFactory);
         assertEquals(1, countRowsInTable(ClassUnitColumns.TABLE_NAME));

      } catch (Exception e) {
         e.printStackTrace(System.err);
         fail(e.getMessage());
      }
   }

   /**
    * Test insert(ClassUnitMap pClassUnitMap).
    */
  @Test
   public void testInsertMap() {

      ClassUnitMap vClassUnitMap = new ClassUnitMap();

      vClassUnitMap.putClassUnit(getClassUnit("BU", "STO", "999", new DateTime(), new DateTime()));
      vClassUnitMap.putClassUnit(getClassUnit("GR", "RU", "AUW", new DateTime(), new DateTime()));

      try {
         getBefClassUnit().insert(vClassUnitMap);
         flushHibernateSession(mSessionFactory);
         assertEquals(2, countRowsInTable(ClassUnitColumns.TABLE_NAME));
      } catch (Exception e) {
         fail();
      }
   }

   @Resource(name="befClassUnit")
   public void setBefClassUnit(BefClassUnit unit) {
      mBefClassUnit = unit;
   }

}

0 个答案:

没有答案