昨日のやつ
本日も自宅で楽しくプログラミングの時間がやって参りました。
http://d.hatena.ne.jp/kijitoraneko/20100621/1277128211
Junit4.7を使っていたのだけれども、extends Testcaseとかいらないですよね。ちゃんと頭を整理しないといけないな。
昨日のコードを
public class KijitoranekoTest extends TestCase{ ↓ public class KijitoranekoTest
に変更するだけですと、
private void doUserTest() throws EntityNotFoundException { UserService userService = UserServiceFactory.getUserService(); assertEquals(true, userService.isUserAdmin()); assertEquals(true, userService.isUserLoggedIn()); }
のassertEqualsはコンパイルエラーになりますので、
import static org.junit.Assert.assertEquals;
もしくは
import static org.junit.Assert.*;
と言った感じでimportするのだね。それがJunit4なのだね。アノテーションベースなのだね。継承なんていらないのだね。
あとJunit4.4以降ではassertThatってメソッドが使える。上のdoUserTest()はこうなる。
private void doUserTest() throws EntityNotFoundException { UserService userService = UserServiceFactory.getUserService(); assertThat(true, is(userService.isUserAdmin())); assertThat(true, is(userService.isUserLoggedIn())); }
↓これらの文に意味はないけれど、こんな風にも書けるということ。直感的にタイプセーフに書いていけるということ。
assertThat(true, is(userService.isUserLoggedIn())); ↓ assertThat(true, is(equalTo(userService.isUserLoggedIn())));//同上 ↓ assertThat(true, is(not(not(userService.isUserLoggedIn()))));//同上