さて実践
と、おおっと!ここで順番を間違えた!先にUserクラスを作ってしまったのだ。
中身は無かったことにして、まずテストから作ろう。
public class UserTest extends TestCase{ @Test public void ログイン出来るUser(){ User user = new User("admin","pass"); assertTrue(user.isLogined); } @Test public void ログイン出来ないUser(){ User user = new User("admin","test"); assertFalse(user.isLogined); } }
こんなところか。テストを動かす。かと思ったら、当然動かない。
Userの中身を作ろう。
public String userName; public boolean isLogined = false; public User(final String username, final String password){ this.userName = username; isLogined = true; }
jUnitがエラーを出す。「テストが無い!」そんなわけは無い。作ったはずだ。間違ってる。extends TestCaseって古いんだって!
import static org.junit.Assert.*; public class UserTest{ @Test public void ログイン出来るUser(){ final User user = new User("admin","pass"); assertTrue("ログイン出来る", user.isLogined); } @Test public void ログイン出来ないUser(){ final User user = new User("admin","test"); assertFalse("ログインできない", user.isLogined); } }
便利な世の中だ。やっと動いた結果、二つ目のテストが通らないとわかる。当然だ。直そう。
public class User { public String userName; public boolean isLogined = false; public User(final String username, final String password){ this.userName = username; if("pass".equals(password)){ isLogined = true; } } }
一瞬じゃないっすか。洒落ならん。一瞬で真緑ですよ。満足したので寝よう。明日以降、これをセッションに保存して上手にやっていくことになる。
あと、追加しておくべきことがある。パスワードが単に"pass"かどうかを見てるだけなので、これを直す必要があるが、今はいいだろう。DBを使う必要が出てからだ。出てるだろ。忘れよう。
- サインインページの作成
- サインイン処理の作成
ユーザークラスの作成- ユーザーパスワードが正しいか確認する
- ユーザークラスにサインイン情報保持
- セッションの作成
- ユーザークラスをセッションに保存し、未来へと僕の記憶をつないでいく
- サインイン後ページの作成(HomePage.java)