小编Dra*_*ake的帖子

这个春季训练有用吗?

我们有一个基于Spring + Ibatis的J2EE应用程序.我计划用测试用例包围我们的DAO(通过获取spring bean来调用iBatis模板).我对JUnit没有多少经验,所以我认为只需创建一个DAO对象然后调用其中一个方法就可以了.但我错了,结果是整个J2EE应用程序在appserver(容器)上运行,但显然JUnit测试用例在容器之外.所以,在我的测试用例中,当我创建dao的对象并调用一个方法时......它在我的DAO方法中的这样的行上失败了

ApplicationInitializer.getApplicationContext().getBean("myMapclientBean");
Run Code Online (Sandbox Code Playgroud)

所以我进行了谷歌搜索......遇到了一些帖子,接下来我最后参加了Spring的4天培训课程.

想让你的家伙看到你对这门课程的看法?价格有价值吗?一个人也可以自己学习这些东西吗?通过几本书?(也许不会在4天内,但是,比如说,超过一个月).

哦,我仍然无法对这些DAO进行单元测试...> _ <

java junit spring java-ee

1
推荐指数
1
解决办法
2644
查看次数

如何集成测试使用spring + iBatis构建的DAO

我问了一个问题,其标题可能会产生误导,所以我将尝试用更详细的东西再次提出这个问题.(我知道问题似乎很长但请耐心等待我)

我正在尝试做什么:我只是想为我的DAO编写测试用例并使其工作.我知道我的DAO在容器(app服务器)内工作正常但是从测试用例调用DAO时它不起作用.我认为因为它在容器之外.

在我的spring-for-iBatis.xml中填充

<bean id="IbatisDataSourceOracle" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="jdbc/RSRC/my/db/oltp"/>
</bean>
<bean id="MapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
  <property name="configLocation" value="classpath:sql-map-config-oracle.xml"/>
  <property name="dataSource" ref="IbatisDataSourceOracle"/>
 </bean>
Run Code Online (Sandbox Code Playgroud)

在我的sql-map-config-oracle.xml中填充

<sqlMapConfig>
   <settings enhancementEnabled="true" useStatementNamespaces="true" />
 <transactionManager type="JDBC">
  <dataSource type="JNDI">
   <property name="DataSource" value="jdbc/RSRC/my/db/oltp"/>
  </dataSource>
 </transactionManager>
         <sqlMap resource="mymapping.xml"/>
</sqlMapConfig>
Run Code Online (Sandbox Code Playgroud)

我的抽象类:

public abstract MyAbstract {
    public SqlMapClientTemplate getSqlTempl() SQLException{
        public static final String ORCL = "jdbc/RSRC/PIH/eiv/oltp";
        try {
            ApplicationInitializer.getApplicationContext().getBean("MapClient");
            SqlMapClient scl = (SqlMapClient) ApplicationInitializer.getApplicationContext().getBean("MapClient");
            DataSource dsc = (DataSource) MyServiceLocator.getInstance().getDataSource(ORCL);
            return new SqlMapClientTemplate (dsc, scl);
        }
        catch (NamingException e)
        { …
Run Code Online (Sandbox Code Playgroud)

java junit spring dao ibatis

1
推荐指数
1
解决办法
4894
查看次数

标签 统计

java ×2

junit ×2

spring ×2

dao ×1

ibatis ×1

java-ee ×1