More than 1 year has passed since last update.

JUnitを使った単体テストメソッドの命名

Javaプロジェクトで単体試験を書く際、JUnitないしはそれ以外の派生ライブラリで書くときのお話です。
そのテストメソッド名ですが、謎なコーディング規約に従って無理やりヨクワカラン英単語を並べてしまい、結局何のテストしているのかわからない名前になってしまい疲弊することも多いでしょう。

実はJavaのメソッド名に日本語書いても問題ありません。テストで期待する結果を日本語で書いたほうがわかりやすいこともあるでしょう。

  • 「一覧結果に日本語が書かれていると、何のテストしているのかわかりやすい」
  • 「改修後のテストの要否がわかりやすい」
  • エクセルで実行結果を求めるエクセル印刷上等な闇企業にも対応しやすい

などなど。

利用例

以下の例はMockitoもあわせて使った、簡単な利用例です。

IPCheckServiceTest
import static org.junit.Assert.*;
import static org.mockito.Mockito.*;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;

@RunWith(MockitoJUnitRunner.class)
public class IPCheckServiceTest {

    @Mock
    IPCheckService service;

    @Before
    public void before() throws Exception {
        service = spy(new IPCheckService());
        service.start();
    }

    @After
    public void after() throws Exception {

    }

    @Test
    public void test成功するIPアドレス() throws Exception {
        assertTrue( service.check("127.0.0.1") );
    }

    @Test
    public void test失敗するIPアドレス() throws Exception {
        assertFalse( service.check("192.168.0.7") );
    }
}

EclipseのJUnitランチャーで実行した結果、なんとなく見やすいですよね。

jpnmethod.png

これをエクセルへ出力するなど工夫することで、印刷を強要するおっさんたちもニッコリではないでしょうか。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.