スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

VS2012単体テストで例外の検証

  • 2014/01/10 00:09
  • Category: C#
VS2012単体テストでは、テストメソッドが例外を投げるか検証するために
ExpectedException属性を使用します。
しかし、1つの例外に対し1つのテストメソッドを用意しなければいけないので
割と面倒だったりします。


ということで作りました。
引数のactionにメソッドなりラムダなり指定して例外を投げるかテストするメソッドです。



これを使えば、1つのテストメソッド内で複数の例外を検証できるようになります。




allowDerivedTypesがtrueの場合、TにArgumentExceptionを指定すれば、
その派生であるArgumentOutOfRangeExceptionやArgumentNullExceptionを
actionがスローした時にもテストをパスします。


actionがnullの時はパスしてもいいかなとか
catch内からスローした時は例外メッセージも返した方がいいかなとか
色々改良するところがあると思います…


後で気付いたのですが、NUnitにはAssert.Throwsメソッドとして用意されているようです。
http://www.nunit.org/index.php?p=exceptionAsserts&r=2.6.3



スポンサーサイト

Pagination

Trackback

Trackback URL

http://someprog.blog.fc2.com/tb.php/9-48c94a05

Comment

Post Your Comment

コメント登録フォーム
公開設定

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。