Ruby on Rails에서 모델 테스트 케이스를 작성할 때 모델의 메서드를 직접 호출하여 테스트하는 방법은 RSpec을 기준으로 설명하겠습니다. RSpec은 많은 Ruby on Rails 프로젝트에서 사용되는 테스트 프레임워크 중 하나입니다.
아래 예시를 통해 모델의 메서드를 테스트하는 방법을 확인해보겠습니다.
예를 들어, 다음과 같은 `User` 모델이 있다고 가정해봅시다.
# app/models/user.rb
class User < ApplicationRecord
def full_name
"#{first_name} #{last_name}"
end
end
이제 `full_name` 메서드를 테스트해보겠습니다.
# spec/models/user_spec.rb
require 'rails_helper'
RSpec.describe User, type: :model do
describe '#full_name' do
it 'returns the full name of the user' do
user = User.new(first_name: 'John', last_name: 'Doe')
full_name = user.full_name
expect(full_name).to eq('John Doe')
end
end
end
위 코드에서 `User` 모델의 `full_name` 메서드를 테스트하기 위해 `RSpec.describe` 블록 내에서 `describe` 블록을 사용하여 테스트 케이스를 작성했습니다. `it` 블록 내에서 `User` 모델의 인스턴스를 생성하고 `full_name` 메서드를 호출하여 반환값을 검증하는 코드를 작성했습니다.
실제 프로젝트에서는 모델의 다양한 메서드와 상황을 고려하여 테스트 케이스를 작성하면 됩니다. 이를 통해 모델의 동작이 예상대로 동작하는지 확인할 수 있습니다.
'┝ 개발 언어 > ┝ ruby' 카테고리의 다른 글
| [ruby] 테이블 3개 조인 (0) | 2023.09.08 |
|---|---|
| [ruby] .map 메서드 (0) | 2023.08.31 |
| [ruby] orm : unscoped (0) | 2023.07.24 |
| [ruby] validates_inclusion_of (0) | 2023.07.18 |
| [ruby] 변수 앞의 @ (0) | 2023.07.10 |