[ruby] 모델 테스트하는 방법

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