投稿‎ > ‎

jpetstore:mapperのjunitテストケース作成

posted Jul 28, 2013, 9:49 AM by Zhang Wenxu   [ updated Nov 18, 2013, 1:03 AM ]
jpetstoreはMyBatis-Springサンプルアプリケーションである。本家は下記URLを参照。
http://mybatis.github.io/spring/ja/sample.html

残念であるが、mapper、サービスのテストケースがない。

ここでは、mapperのテストケース作成方法を共有する。

1.src/test/resourcesフォルダーを作成し、WEB-INFにあるapplicationContext.xmlをコピー
2.src/test/javaフォルダーを作成し、下記のテストケースを作成

AccountMapperTest.java

package org.mybatis.jpetstore.persistence;


import static org.junit.Assert.assertEquals;


import org.junit.Test;

import org.junit.runner.RunWith;

import org.mybatis.jpetstore.domain.Account;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.test.context.ContextConfiguration;

import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;


@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations={"classpath:applicationContext.xml"})

public class AccountMapperTest {


@Autowired

private AccountMapper accountMapper;


@Test

public void testGetAccountByUsername() {

String username = "j2ee";

Account account = accountMapper.getAccountByUsername(username);

assertEquals(account.getUsername(), username);

}


}


3.テスト用のspring jarは、jpetstoreにないので、pom.xmlを修正

pom.xml


<properties>

            ...

<!-- Spring -->

<spring-framework.version>3.2.3.RELEASE</spring-framework.version>

            ...

</properties>

<dependencies>

            ...

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-jdbc</artifactId>

<version>${spring-framework.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-aop</artifactId>

<version>${spring-framework.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-webmvc</artifactId>

<version>${spring-framework.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-tx</artifactId>

<version>${spring-framework.version}</version>

</dependency>

<!-- used for EhCacheCacheManager -->

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-core</artifactId>

<version>${spring-framework.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context</artifactId>

<version>${spring-framework.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context-support</artifactId>

<version>${spring-framework.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-orm</artifactId>

<version>${spring-framework.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-oxm</artifactId>

<version>${spring-framework.version}</version>

<exclusions>

<exclusion>

<groupId>commons-lang</groupId>

<artifactId>commons-lang</artifactId>

</exclusion>

</exclusions>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-jms</artifactId>

<version>${spring-framework.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-test</artifactId>

<version>${spring-framework.version}</version>

<scope>test</scope>

</dependency>



以上で、junitが正常できる。
Google+
By Zhang Wenxu
Comments