org.seasar.framework.unit.impl
クラス ConventionTestIntrospector

java.lang.Object
  上位を拡張 org.seasar.framework.unit.impl.AnnotationTestIntrospector
      上位を拡張 org.seasar.framework.unit.impl.ConventionTestIntrospector
すべての実装されたインタフェース:
S2TestIntrospector

public class ConventionTestIntrospector
extends AnnotationTestIntrospector

命名規約を解釈してテストクラスを分析するイントロスペクターです。

作成者:
taedium

フィールドの概要
protected  java.lang.String afterClassMethodName
          テストクラスの解放メソッドの名前
protected  java.lang.String afterMethodName
          全テストケースの解放メソッドを名前
protected  java.lang.String beforeClassMethodName
          テストクラスの初期化メソッドの名前
protected  java.lang.String beforeMethodName
          全テストケースの初期化メソッドの名前
protected  java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> nonTestAnnotations
          テストメソッドとして解釈すべきでないメソッドに付与されるアノテーションのセット
protected  java.util.Set<java.util.regex.Pattern> nonTestMethodNamePatterns
          テストメソッドとして解釈すべきでないメソッド名の正規表現
protected  java.lang.String postBindFieldsMethodName
          テストクラスのバインドフィールド直後のメソッドの名前
protected  java.lang.String preUnbindFieldsMethodName
          テストクラスのアンバインドフィールド直前のメソッドの名前
protected  java.lang.String recordMethodName
          テストケース個別にモックの振る舞いを記録するメソッドの名前のプレフィックス
 
クラス org.seasar.framework.unit.impl.AnnotationTestIntrospector から継承されたフィールド
afterAnnotation, afterClassAnnotation, beforeAnnotation, beforeClassAnnotation, enableIgnore, enablePrerequisite, postBindFieldsAnnotation, preUnbindFieldsAnnotation
 
コンストラクタの概要
ConventionTestIntrospector()
           
 
メソッドの概要
 void addNonTestAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
          テストメソッドと解釈すべきでないメソッドに付与するアノテーションを登録します。
 void addNonTestMethodNamePattern(java.lang.String pattern)
          テストメソッドとして解釈すべきでないメソッド名の正規表現を登録します。
 java.util.List<java.lang.reflect.Method> getAfterClassMethods(java.lang.Class<?> clazz)
          テストクラスの解放メソッドのリストを返します。
 java.util.List<java.lang.reflect.Method> getAfterMethods(java.lang.Class<?> clazz)
          すべてのテストケース共通の解放メソッドのリストを返します。
 java.util.List<java.lang.reflect.Method> getBeforeClassMethods(java.lang.Class<?> clazz)
          テストクラスの初期化メソッドのリストを返します。
 java.util.List<java.lang.reflect.Method> getBeforeMethods(java.lang.Class<?> clazz)
          すべてのテストケース共通の初期化メソッドのリストを返します。
 java.lang.reflect.Method getEachAfterMethod(java.lang.Class<?> clazz, java.lang.reflect.Method method)
          テストケース個別の解放メソッドを返します。
 java.lang.reflect.Method getEachBeforeMethod(java.lang.Class<?> clazz, java.lang.reflect.Method method)
          テストケース個別の初期化メソッドを返します。
 java.lang.reflect.Method getEachRecordMethod(java.lang.Class<?> clazz, java.lang.reflect.Method method)
          テストケース個別の記録メソッドを返します。
protected  java.lang.reflect.Method getMethod(java.lang.Class<?> clazz, java.lang.String methodName)
          指定されたクラスを基点にスーパークラスを辿り指定されたメソッドを返します。
 java.util.List<java.lang.reflect.Method> getPostBindFieldsMethods(java.lang.Class<?> clazz)
          すべてのテストケース共通のバインドフィールド直後のメソッドのリストを返します。
 java.util.List<java.lang.reflect.Method> getPreUnbindFieldsMethods(java.lang.Class<?> clazz)
          すべてのテストケース共通のアンバインドフィールド直前のメソッドのリストを返します。
 java.util.List<java.lang.reflect.Method> getTestMethods(java.lang.Class<?> clazz)
          指定されたテストクラス内のすべてのテストメソッドを返します。
protected  boolean hasNonTestAnnotation(java.lang.reflect.Method method)
          指定されたメソッドにテストメソッドとして解釈すべきでないアノテーションが付与されている場合true
protected  boolean hasNonTestMethodName(java.lang.reflect.Method method)
          指定されたメソッドの名前がテストメソッドとして解釈すべきでない名前の場合trueを返します。
protected  boolean hasValidNonStaticSignature(java.lang.reflect.Method method)
          メソッドが非staticかつ適切なシグネチャを持つ場合trueを返します。
protected  boolean hasValidSignature(java.lang.reflect.Method method)
          メソッドが適切なシグネチャを持つ場合trueを返します。
protected  boolean hasValidStaticSignature(java.lang.reflect.Method method)
          メソッドがstaticかつ適切なシグネチャを持つ場合trueを返します。
 void init()
          初期化メソッド
protected  boolean isTestMethod(java.lang.reflect.Method method)
          指定されたメソッドがテストメソッドの場合trueを返します。
 void setAfterClassMethodName(java.lang.String afterClassMethodName)
          テストクラスの解放メソッドの名前を設定します。
 void setAfterMethodName(java.lang.String afterMethodName)
          全テストケースの解放メソッドの名前を設定します。
 void setBeforeClassMethodName(java.lang.String beforeClassMethodName)
          テストクラスの初期化メソッドの名前を設定します。
 void setBeforeMethodName(java.lang.String beforeMethodName)
          全テストケースの初期化メソッドの名前を設定します。
 void setRecordMethodName(java.lang.String recordMethodName)
          テストケース個別にモックの振る舞いを記録するメソッドの名前のプレフィックスを設定します。
 
クラス org.seasar.framework.unit.impl.AnnotationTestIntrospector から継承されたメソッド
createExpression, createMock, createMock, expectedException, getAnnotatedMethods, getRootDicon, getTimeout, getTxBehaviorType, isFulfilled, isFulfilled, isIgnored, isRegisterNamingConvention, needsTransaction, needsWarmDeploy, requiresTransactionCommitment, runsTopToBottom, setAfterAnnotation, setAfterClassAnnotation, setBeforeAnnotation, setBeforeClassAnnotation, setEnableIgnore, setEnablePrerequisite, setPostBindFieldsAnnotation, setPreUnbindFieldsAnnotation
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

nonTestAnnotations

protected final java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> nonTestAnnotations
テストメソッドとして解釈すべきでないメソッドに付与されるアノテーションのセット


nonTestMethodNamePatterns

protected final java.util.Set<java.util.regex.Pattern> nonTestMethodNamePatterns
テストメソッドとして解釈すべきでないメソッド名の正規表現


beforeClassMethodName

protected java.lang.String beforeClassMethodName
テストクラスの初期化メソッドの名前


afterClassMethodName

protected java.lang.String afterClassMethodName
テストクラスの解放メソッドの名前


beforeMethodName

protected java.lang.String beforeMethodName
全テストケースの初期化メソッドの名前


afterMethodName

protected java.lang.String afterMethodName
全テストケースの解放メソッドを名前


recordMethodName

protected java.lang.String recordMethodName
テストケース個別にモックの振る舞いを記録するメソッドの名前のプレフィックス


postBindFieldsMethodName

protected java.lang.String postBindFieldsMethodName
テストクラスのバインドフィールド直後のメソッドの名前


preUnbindFieldsMethodName

protected java.lang.String preUnbindFieldsMethodName
テストクラスのアンバインドフィールド直前のメソッドの名前

コンストラクタの詳細

ConventionTestIntrospector

public ConventionTestIntrospector()
メソッドの詳細

init

public void init()
初期化メソッド


setBeforeClassMethodName

public void setBeforeClassMethodName(java.lang.String beforeClassMethodName)
テストクラスの初期化メソッドの名前を設定します。

パラメータ:
beforeClassMethodName - 初期化メソッドの名前

setAfterClassMethodName

public void setAfterClassMethodName(java.lang.String afterClassMethodName)
テストクラスの解放メソッドの名前を設定します。

パラメータ:
afterClassMethodName - 解放メソッドの名前

setBeforeMethodName

public void setBeforeMethodName(java.lang.String beforeMethodName)
全テストケースの初期化メソッドの名前を設定します。

パラメータ:
beforeMethodName - 初期化メソッドの名前

setAfterMethodName

public void setAfterMethodName(java.lang.String afterMethodName)
全テストケースの解放メソッドの名前を設定します。

パラメータ:
afterMethodName - 解放メソッドの名前

setRecordMethodName

public void setRecordMethodName(java.lang.String recordMethodName)
テストケース個別にモックの振る舞いを記録するメソッドの名前のプレフィックスを設定します。

パラメータ:
recordMethodName - 記録メソッド名のプレフィックス

addNonTestAnnotation

public void addNonTestAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotation)
テストメソッドと解釈すべきでないメソッドに付与するアノテーションを登録します。

パラメータ:
annotation - テストメソッドと解釈すべきでないメソッドに付与するアノテーション

addNonTestMethodNamePattern

public void addNonTestMethodNamePattern(java.lang.String pattern)
テストメソッドとして解釈すべきでないメソッド名の正規表現を登録します。

パラメータ:
pattern - テストメソッドとして解釈すべきでないメソッド名の正規表現

getBeforeClassMethods

public java.util.List<java.lang.reflect.Method> getBeforeClassMethods(java.lang.Class<?> clazz)
インタフェース S2TestIntrospector の記述:
テストクラスの初期化メソッドのリストを返します。

定義:
インタフェース S2TestIntrospector 内の getBeforeClassMethods
オーバーライド:
クラス AnnotationTestIntrospector 内の getBeforeClassMethods
パラメータ:
clazz - テストクラス
戻り値:
初期化メソッドのリスト

getAfterClassMethods

public java.util.List<java.lang.reflect.Method> getAfterClassMethods(java.lang.Class<?> clazz)
インタフェース S2TestIntrospector の記述:
テストクラスの解放メソッドのリストを返します。

定義:
インタフェース S2TestIntrospector 内の getAfterClassMethods
オーバーライド:
クラス AnnotationTestIntrospector 内の getAfterClassMethods
パラメータ:
clazz - テストクラス
戻り値:
解放メソッドのリスト

getBeforeMethods

public java.util.List<java.lang.reflect.Method> getBeforeMethods(java.lang.Class<?> clazz)
インタフェース S2TestIntrospector の記述:
すべてのテストケース共通の初期化メソッドのリストを返します。

定義:
インタフェース S2TestIntrospector 内の getBeforeMethods
オーバーライド:
クラス AnnotationTestIntrospector 内の getBeforeMethods
パラメータ:
clazz - テストクラス
戻り値:
初期化メソッドのリスト

getAfterMethods

public java.util.List<java.lang.reflect.Method> getAfterMethods(java.lang.Class<?> clazz)
インタフェース S2TestIntrospector の記述:
すべてのテストケース共通の解放メソッドのリストを返します。

定義:
インタフェース S2TestIntrospector 内の getAfterMethods
オーバーライド:
クラス AnnotationTestIntrospector 内の getAfterMethods
パラメータ:
clazz - テストクラス
戻り値:
解放メソッドのリスト

getPostBindFieldsMethods

public java.util.List<java.lang.reflect.Method> getPostBindFieldsMethods(java.lang.Class<?> clazz)
インタフェース S2TestIntrospector の記述:
すべてのテストケース共通のバインドフィールド直後のメソッドのリストを返します。

定義:
インタフェース S2TestIntrospector 内の getPostBindFieldsMethods
オーバーライド:
クラス AnnotationTestIntrospector 内の getPostBindFieldsMethods
パラメータ:
clazz - テストクラス
戻り値:
バインドフィールドメソッド

getPreUnbindFieldsMethods

public java.util.List<java.lang.reflect.Method> getPreUnbindFieldsMethods(java.lang.Class<?> clazz)
インタフェース S2TestIntrospector の記述:
すべてのテストケース共通のアンバインドフィールド直前のメソッドのリストを返します。

定義:
インタフェース S2TestIntrospector 内の getPreUnbindFieldsMethods
オーバーライド:
クラス AnnotationTestIntrospector 内の getPreUnbindFieldsMethods
戻り値:

getEachBeforeMethod

public java.lang.reflect.Method getEachBeforeMethod(java.lang.Class<?> clazz,
                                                    java.lang.reflect.Method method)
インタフェース S2TestIntrospector の記述:
テストケース個別の初期化メソッドを返します。

定義:
インタフェース S2TestIntrospector 内の getEachBeforeMethod
オーバーライド:
クラス AnnotationTestIntrospector 内の getEachBeforeMethod
パラメータ:
clazz - テストクラス
method - テストメソッド
戻り値:
初期化メソッド

getEachAfterMethod

public java.lang.reflect.Method getEachAfterMethod(java.lang.Class<?> clazz,
                                                   java.lang.reflect.Method method)
インタフェース S2TestIntrospector の記述:
テストケース個別の解放メソッドを返します。

定義:
インタフェース S2TestIntrospector 内の getEachAfterMethod
オーバーライド:
クラス AnnotationTestIntrospector 内の getEachAfterMethod
パラメータ:
clazz - テストクラス
method - テストメソッド
戻り値:
解放メソッド

getEachRecordMethod

public java.lang.reflect.Method getEachRecordMethod(java.lang.Class<?> clazz,
                                                    java.lang.reflect.Method method)
インタフェース S2TestIntrospector の記述:
テストケース個別の記録メソッドを返します。

記録メソッドはEasyMockを利用して作成されたモックの振る舞いを記録するメソッドです。

定義:
インタフェース S2TestIntrospector 内の getEachRecordMethod
オーバーライド:
クラス AnnotationTestIntrospector 内の getEachRecordMethod
パラメータ:
clazz - テストクラス
method - テストメソッド
戻り値:
記録メソッド

getTestMethods

public java.util.List<java.lang.reflect.Method> getTestMethods(java.lang.Class<?> clazz)
インタフェース S2TestIntrospector の記述:
指定されたテストクラス内のすべてのテストメソッドを返します。

定義:
インタフェース S2TestIntrospector 内の getTestMethods
オーバーライド:
クラス AnnotationTestIntrospector 内の getTestMethods
パラメータ:
clazz - テストクラス
戻り値:
テストメソッドのリスト

isTestMethod

protected boolean isTestMethod(java.lang.reflect.Method method)
指定されたメソッドがテストメソッドの場合trueを返します。

パラメータ:
method - メソッド
戻り値:
指定されたメソッドがテストメソッドの場合true、そうでない場合false

hasNonTestAnnotation

protected boolean hasNonTestAnnotation(java.lang.reflect.Method method)
指定されたメソッドにテストメソッドとして解釈すべきでないアノテーションが付与されている場合true

パラメータ:
method - メソッド
戻り値:
指定されたメソッドにテストメソッドとして解釈すべきでないアノテーションが付与されている場合true、そうでない場合false

hasNonTestMethodName

protected boolean hasNonTestMethodName(java.lang.reflect.Method method)
指定されたメソッドの名前がテストメソッドとして解釈すべきでない名前の場合trueを返します。

パラメータ:
method - メソッド
戻り値:
指定されたメソッドの名前がテストメソッドとして解釈すべきでない名前の場合true、そうでない場合false

hasValidStaticSignature

protected boolean hasValidStaticSignature(java.lang.reflect.Method method)
メソッドがstaticかつ適切なシグネチャを持つ場合trueを返します。

パラメータ:
method -
戻り値:
メソッドがstaticかつ適切なシグネチャを持つ場合true、そうでない場合false

hasValidNonStaticSignature

protected boolean hasValidNonStaticSignature(java.lang.reflect.Method method)
メソッドが非staticかつ適切なシグネチャを持つ場合trueを返します。

パラメータ:
method - メソッド
戻り値:
メソッドが非staticかつ適切なシグネチャを持つ場合true、そうでない場合false

hasValidSignature

protected boolean hasValidSignature(java.lang.reflect.Method method)
メソッドが適切なシグネチャを持つ場合trueを返します。

適切なシグネチャをもつメソッドとは以下の条件を満たしているシグネチャを意味します。

パラメータ:
method - メソッド
戻り値:
メソッドが適切なシグネチャを持つ場合true、そうでない場合false

getMethod

protected java.lang.reflect.Method getMethod(java.lang.Class<?> clazz,
                                             java.lang.String methodName)
指定されたクラスを基点にスーパークラスを辿り指定されたメソッドを返します。

パラメータ:
clazz - 基点となるクラス
methodName - メソッド名
戻り値:
指定されたメソッド、メソッドが見つからない場合null


Copyright © 2004-2014 The Seasar Foundation. All Rights Reserved.