osa2 memo

自分の記憶のために・・・。

Springでのユニットテストを書いてみた。

【はじめに】
Springを勉強中なのですが、Hello Spring!ぐらいは出力できるようになったので、ユニットテストを書いてみようかと思い、WEBの情報から試行錯誤で動かしてみました。あちこちの情報のつまみ食いなので、動いているものの間違いがあるかもしれません。あしからず、ご容赦ください(間違いなどご指摘いただけたらうれしいです)。

【環境】
Spring 3(JARのバージョンは3.1.1)をMaven 3(3.0.4)でビルド・テストしています。JUnitは成り行きで4.7を使っています。

【あらすじ】
クラスBImplは、メソッドhello()を持ち、叩くと"Hello Spring!"を返します。ので、これをテストするBImplTestを作成しました。

【コード】
直接関係するコードは以下のとおりです(コード一式をうpするにはどうしたらいいのだろう??)。

BImpl.java

package com.example.spring.exercise;

public class BImpl implements B {
    public String hello() {
        return "Hello Spring!";
    }
}

BImplTest.java

package com.example.spring.exercise;

import org.junit.Test;
import org.junit.runner.JUnitCore;
import org.junit.runner.RunWith;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.beans.factory.annotation.Autowired;

import static org.junit.Assert.assertEquals;

/**
 * Unit test for class BImpl.
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class BImplTest {

    @Autowired
    private B b;

    public static void main(String[] args) {
        JUnitCore.main(BImplTest.class.getName());
    }

    /**
     * Say Hello Test :D
     */
    @Test
    public void testHello()
    {
        assertEquals(b.hello(), "Hello Spring!");
    }
}

BImplTest-context.xmlMavenでは、src/test/resources/com/example/spring/exercise/ に配置。)

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <context:annotation-config />
    <bean id="a" class="com.example.spring.exercise.AImpl" />
    <bean id="b" class="com.example.spring.exercise.BImpl" />
</beans>

【テストの実行】

$ mvn clean test

【参考にしたサイト】
以下、ありがとうございます。
http://walbrix.net/blog/2010/05/spring.html
http://www7b.biglobe.ne.jp/~archer/tryjunit4/tryjunit4.html
http://aotan2008.eco.coocan.jp/blog/archives/2009/06/30145600.php

【参考書】
まだ1章を読み込み中ですww

SpringによるWebアプリケーションスーパーサンプル 第2版

SpringによるWebアプリケーションスーパーサンプル 第2版

以上、粗末にて失礼いたしました。m(_ _ )m