【问题标题】:how to easymock test this code如何easymock测试这段代码
【发布时间】:2011-05-15 23:02:54
【问题描述】:

此代码如何使用 easymock 进行测试


    return (Long) getHibernateTemplate().execute(
            new HibernateCallback() {
                public Object doInHibernate(Session s) throws HibernateException, SQLException {
                    Criteria criteria = s.createCriteria(EntityData.class);
                    criteria.setProjection(Projections.rowCount());
                    criteria.add(Restrictions.like(param, val));
                    return ((Long)criteria.uniqueResult()).longValue();
                }

});

【问题讨论】:

    标签: hibernate easymock


    【解决方案1】:

    由于这是一个纯粹的数据库访问操作,我不会模拟任何东西。只需编写一个单元测试,它会测试它是否返回正确的结果,以及当数据发生变化时它是否仍然正确。

    因此,您应该为测试提供一个特殊的数据源,这样您的生产系统就不会受到影响。如果无法交换数据库配置,请按照约定分隔测试数据,例如以 0 开头的 id 用于测试。

    但您甚至可以跳过此方法的单元测试并改为编写集成测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-16
      • 1970-01-01
      • 2018-04-30
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多