1. rspec 설치
sudo gem install rspec
2. user_spec.rb 파일 생성
3. user.rb 파일 생성
위 사진과 같은 계층도를 가진다.
4. user_spec.rb 파일에 다음 코드를 넣자.
before :each 블럭은 각 테스트를 시작할 때마다 그전에 실행해야 할 코드를 말한다.
비슷하게 before :all 블럭은 모든 테스트를 통틀어 시작하기 전에 한번 실행할 코드를 말한다.
5. 루비는 클래스와 메서드를 'ClassName#methodName' 같은 형식으로 나타낸다.
따라서 위 코드는 User 클래스의 new 메서드를 테스트하는 것이다.
또 거의 모든 테스트는 인스턴스.should 또는 인스턴스.should_not 메서드를 호출하는 형식이다.
6. user.rb에 다음 코드를 입력하자.
7. 터미널에서 rspec 폴더로 이동한 후 다음을 실행하자.
> rspec spec
rspec 명령행은 인자로 파일이나 폴더명을 받는다. 위 예에서는 spec/ 디렉토리를 인자로 받았다.
8. 좀더 발전해 나가보자.
다음은 user.rb 파일이다.
9. 다음은 user_spec.rb 파일이다.
테스트명을 한글로 사용하려면 맨 위에 '#encoding: UTF-8"을 추가하자.
eql은 ==와 같다. 이는 인스턴스의 content가 같다는 의미이다.
하지만 equal은 인스턴스와 완전 그 자체라는 의미이다.
10. rspec spec 명령을 실행하자.
11. rspec spec --format nested 명령을 실행하면 더 보기 좋은 형식으로 나온다.
참고자료
'Ruby On Rails' 카테고리의 다른 글
rails에서 get method가 보낼 수 있는 파라미터 (0) | 2013.05.19 |
---|---|
데이터베이스 구조를 sql문으로 복사하기. (0) | 2013.05.18 |
Ruby TDD - Rspec 따라하기 11단계 (0) | 2013.05.17 |
Ruby On Rails 세팅 (0) | 2013.05.15 |
TDD - Running Test (0) | 2013.05.13 |
TDD - fixture (0) | 2013.05.13 |
댓글을 달아 주세요