[Seasar-user:16612] RE: Re: S2UnitのMockInterceptorについて

aaa aaa [E-MAIL ADDRESS DELETED]
2009年 1月 7日 (水) 19:10:48 JST



mitsuokaです。
 
回答ありがとうございます。
 
ということは、exec→testMethodという呼び出しを行っているものが
あって、testMethodをMock化して例外試験を行うということはできないのでしょうか?
 
JUnitを使用してた際に、スタブを作るのが面倒ですごくいいものを見つけたと
思ってたのですが。。
 
S2Unit使用時に例外処理の試験を行う方法としていい方法はありますでしょうか。
そもそも、そのような試験はEclipseなどのデバッガで行えばいいことでしょうか。
 
根本的質問で申し訳ございませんが、よろしくお願いします。
 
 
 

----------------------------------------
>
>> MockInterceptor mi = new MockInterceptor();
>> mi.setThrowable("testMethod", new Exception());
>> Logic mockMethod = (Logic) mi.createProxy(Logic.class);
>>
>>
>> try{
>> mockMethod.exec();
>> } catch{
>> e.printStackTrace();
>> }
>>
>> execメソッドからtestMethodを呼び出しています。
>>
>>  自分のイメージでは、testMethodがExceptionを発生させ、execで例外処理が発生
>> するイメージですが、そもそもMockInterceptorの使用用途として間違ってますでしょうか?
>
> testMethod() だけでなく exec() も (public であれば)
> MockInterceptor の対象となるため,Logic クラスの
> exec() は実際には呼び出されません.
>
> exec() に対する動作は設定されていないため,
> MockInterceptor はデフォルトの動作として null を
> 返します.
> # exec() が void なら戻り値は捨てられます.
>
> exec() を呼び出すテストであれば,exec() に期待する
> 動作を設定してください.
>
> MockInterceptor mi = new MockInterceptor();
> mi.setThrowable("exec", new Exception());
>
>
> --
> 
> "Koichi Kobayashi"
> "[E-MAIL ADDRESS DELETED]"
> "http://d.hatena.ne.jp/koichik"
> 
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
_________________________________________________________________
発想力を鍛えるクイズ『ことのパ!』目指そうランキング入り!
http://campaign.live.jp/kotonopa/


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