[Seasar-user:19189] Re: S2Junit4 テスト事前データがロールバックされない

Nakai Shigeki [E-MAIL ADDRESS DELETED]
2010年 1月 25日 (月) 13:12:30 JST


お世話になります。中井です。

すいません、全てを書くべきでした。
データベースはMySQLを使用しており、/src/main/resources/以下のs2jdbc.dicon、jdbc.diconを
データベースにあわせて変更しております。

■s2jdbc.dicon(抜粋)

<component name="jdbcManager"
class="org.seasar.extension.jdbc.manager.JdbcManagerImpl">
	<property name="maxRows">0</property>
	<property name="fetchSize">0</property>
	<property name="queryTimeout">0</property>
	<property name="dialect">mysqlDialect</property>
	<!--
	<property name="dialect">h2Dialect</property>
	<property name="dialect">db2390Dialect</property>
	<property name="dialect">db2400Dialect</property>
	<property name="dialect">db2Dialect</property>
	<property name="dialect">derbyDialect</property>
	<property name="dialect">firebirdDialect</property>
	<property name="dialect">h2Dialect</property>
	<property name="dialect">hsqlDialect</property>
	<property name="dialect">interbaseDialect</property>
	<property name="dialect">maxdbDialect</property>
	<property name="dialect">mssql2005Dialect</property>
	<property name="dialect">mssqlDialect</property>
	<property name="dialect">mysqlDialect</property>
	<property name="dialect">oracleDialect</property>
	<property name="dialect">postgreDialect</property>
	<property name="dialect">standardDialect</property>
	<property name="dialect">sybaseDialect</property>
	-->
</component>

■jdbc.dicon(抜粋)
デフォルトで有効になっているものをコメントアウトし、以下を有効にし編集
<component name="xaDataSource"
	class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
	<property name="driverClassName">
		"com.mysql.jdbc.Driver"
	</property>
	<property name="URL">
		"jdbc:mysql://127.0.0.1:3306/sample"
	</property>
	<property name="user">"root"</property>
	<property name="password">""</property>
</component>

■テストケースUserSerivceTest.java

@RunWith(Seasar2.class)
@Generated(value = {"S2JDBC-Gen 2.4.40",
"org.seasar.extension.jdbc.gen.internal.model.ServiceTestModelFactoryImpl"},
date = "2010/01/25 9:46:11")
public class UserServiceTest {

    private TestContext context;
	
    private UserService userService;

    /**
     * {@link #userService}が利用可能であることをテストします。
     *
     * @throws Exception
     */
    public void testAvailable() throws Exception {
        assertNotNull(userService);
    }

    @Test
    public void findById() throws Exception {
    	User user = userService.findById("junit");
    	assertNotNull(context.getTestMethodName()+ ":取得したデータがNull" ,  user );
    	assertEquals(context.getTestMethodName() + ":データが存在する場合" ,
context.getExpected() ,  user);
    }
}


以上、よろしくお願いします。

中井 茂樹(Shigeki Nakai)
[E-MAIL ADDRESS DELETED]


Seasar-user メーリングリストの案内