1

spring と spring mvc を使用して小さなプロジェクトを開始しました。ドメイン クラスとサービス、および DAO を定義しました。休止状態に春の ORM を使用しています。現在、スプリング テスト (JUnit) を使用して DAO レイヤーをテストしようとしています。

このために、私はグーグルで例を見つけました。テスト用に以下のコードを使用していますが、

ORMTest.java (JUnit テスト クラス)

package org.droidaceapps.tests;

import org.droidaceapps.domain.Users;
import org.droidaceapps.services.UserServiceInter;
import org.junit.Test;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;

@ContextConfiguration
public class SterlingTest extends AbstractTransactionalJUnit4SpringContextTests {
@Test
public void userDAOTest(){
  UserServiceInter userService = (UserServiceInter) 
                        super.applicationContext.getBean("userService");
   Users userSrinivas = new Users();
   userSrinivas.setName("Srinivas");
   userSrinivas.setPassword("techno890");
   String[] skills = {"java","c++"};
   userSrinivas.setSkills(skills);

   userService.createUser(userSrinivas);

    }
  }

以下は私のテスト構成ファイルです (このファイルは ORMTest.java ファイルと同じフォルダーに配置されています。

 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

    <property name="dataSource" ref="dataSource" />
    <property name="hibernateProperties">
       <props>
           <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
           <prop key="show_sql">true</prop>
           <prop key="hibernate.hbm2ddl.auto">update</prop>
       </props>
    </property>

    <property name="mappingResources">
       <list>
           <value>/org/droidaceapps/domain/users.hbm.xml</value>
       </list>
     </property>

</bean> 

ユーザー.hbm.xml

  <?xml version="1.0"?>
  <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

 <hibernate-mapping >

   <class name="org.droidaceapps.domain.Users" table="users" >

     <id name="id" column="id" type="java.lang.Long">
        <generator class="increment"/>
      </id>
      <property name="name" type="string"/>
      <property name="password" type="string"/>

     </class>

    </hibernate-mapping>

ORMTest.java を実行すると、コンソールに以下の出力が表示されます。

 Aug 14, 2012 7:18:53 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader  loadBeanDefinitions
 INFO: Loading XML bean definitions from class path resource [org/droidaceapps/tests/ORMTest-context.xml]
 Aug 14, 2012 7:18:54 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
   INFO: Refreshing    org.springframework.context.support.GenericApplicationContext@ebe9f73: startup date [Tue   Aug 14 07:18:54 BST 2012]; root of context hierarchy
    Aug 14, 2012 7:18:54 AM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
  INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@250606f7:

Bean の定義 [org.springframework.context.annotation.internalConfigurationAnnotationProcessor、org.springframework.context.annotation.internalAutowiredAnnotationProcessor、org.springframework.context.annotation.internalRequiredAnnotationProcessor、org.springframework.context.annotation.internalCommonAnnotationProcessor、org.springframework.context.annotation .internalPersistenceAnnotationProcessor、org.springframework.web.servlet.view.InternalResourceViewResolver#0、dataSource、sessionFactory、hibernateTemplate、userDAO、userService]; ファクトリ階層のルート

データベースにテーブルが作成されていません。また、休止状態によって作成されたコンソールに SQL ステートメントも表示されません。

何か不足していますか?

ありがとう

4

0 に答える 0