さて実践

と、おおっと!ここで順番を間違えた!先に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)