더북(TheBook)

“그런데 이름 없는 user가 넘어왔을 때 에러가 나는지 확인하는 테스트가 있다면 이름 없는 user가 서버로 전송되지 않는다, UI를 업데이트하지 않는다는 테스트는 굳이 작성할 필요가 없는 것 아닌가요? 어차피 이런 상황이 일어나기도 전에 에러가 날 텐데요?” 이런 질문을 던지는 독자도 있을 것이다.

코드를 ‘오늘’ 작성한다면 일리가 있는 질문이다. 하지만 만에 하나 이렇게 겉보기에 상관없는 테스트가 빠진 상태에서 ‘내일’ 다른 동료가 user를 검증하는 코드를 마지막 부분에 넣으면 어찌 될까?


var Users = Users | | {};
Users.registration = function() {
  return {
    validateAndRegisterUser: function validateAndDisplayUser(user) {
      $.post(http://yourapplication.com/user", user);
 
      $(”#user-message”).text(“가입해주셔서 감사합니다, “ +  user.name + “님”);
 
      if (!user | |
        user.name === ”” | |
          user.password === ”” | |
          user.password.length < 6)
      {
        throw new Error(“The user is not valid”);
      }
    }
 };
};

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.