사용자 관리 비즈니스 로직에 따르면 사용자 정보는 여러번 수정될 수 있다.

<aside> ☝🏻

픽스처https://zorba91.tistory.com/304 - 테스트 실행을 위해 베이스라인으로서 사용되는 객체들의 고정된 상태

</aside>

수정 기능 테스트 추가

  @Test
  public void update(){
    dao.deleteAll();
    dao.add(user1);

// 픽스처의 정보를 변경해서 수정 메서드 호출
    user1.setName("오승민");
    user1.setPassword("o.de");
    user1.setLevel(Level.GOLD);
    user1.setLogin(1000);
    user1.setRecommend(999);
    dao.update(user1);

    User user1update = dao.get(user1.getId());
    checkSameUser(user1, user1update);
  }
  1. 픽스처 오브젝트 하나 등록한다.
  2. update() 호출한다.
  3. 해당 id 의 사용자 정보가 변경되었는지 확인하자.

UserDao 와 UserDaoJdbc 수정

public interface UserDao {
  public void update(User user1);
  ...
}

<aside> ☝🏻

IDE 의 자동 수정 기능테스트 코드 작성

public class UserDaoJdbc implements UserDao {
	@Override
	public void update(User user1) {
	  this.jdbcTemplate.update(
	      "update users set name = ?, password = ?, level = ?, login = ?, "+
	          "recommend = ? where id = ?", user1.getName(), user1.getPassword(),
	      user1.getLevel().intValue(), user1.getLogin(), user1.getRecommend(), user1.getId());
	}
	...}