[rails]Rspec에서 단위 테스트를 해보자!

2566 단어 RSpec루비Rails
테스트에는 단위 테스트와 통합 테스트의 두 종류가 있다.

- 단위 테스트
1개의 프로그램에 대해서, 정상적으로 움직이는지의 테스트.
 (예) 모델 클래스마다

- 통합 테스트
1 연꽃 처리에 관한 테스트.
(예) 유저의 신규 등록용 화면으로부터 값을 입력, 송신해, 데이타베이스에 레코드가 추가될 때까지의 흐름

'Rspec'과 'factory_bot' 도입



"Rspec"는 테스트 할 jem,
'factory_bot'은 테스트를 할 때 일시적으로 정보를 생성합니다.
도움 도구입니다.

그러므로 함께 설치합시다.

①jemno
설치

Gemfile
group :development, :test do
  gem 'rspec-rails'
  gem 'factory_bot_rails'
end

터미널
bundle install

② RSpec의 최소한 필요한 파일/디렉토리 구성을 Rails에 설치

터미널
$ rails g rspec:install
#>      create  .rspec                  # RSpecの設定ファイル
#>      create  spec                    # スペックを格納する
#>      create  spec/spec_helper.rb     # スペック記述のためのヘルパ
#>      create  spec/rails_helper.rb    # Rails固有のスペック記述のためのヘルパ



여기에 필요한 디렉토리 파일을 추가합니다.

③필요한 파일의 작성
여기서 사용자 모델에 대한 검증 테스트
행하겠습니다.

◆ 테스트용 파일
spec/내의 파일은 app/이하의 테스트 대상의 rb 파일에 대해 1
대 1로 대응하는 형태로 배치합니다.

app/models/user.rb에 대한 사양은
spec/models/user_spec.rb입니다.



◆테스트를 위한 데이터용 파일(factory_bot)
spec/factories에 팩토리를 배치함으로써,
쉽게 테스트를 위해 데이터를 사용할 수 있습니다.



④파일의 기술

네임스페이스를 생략할 수 있도록 설정한다.

spec/rails_helper.rb
RSpec.configure do |config|
+  config.include FactoryGirl::Syntax::Methods
end

.rspec
--format documentation
--require spec_helper

spec/models/user_spec.rb


spec/factories/users.rb
FactoryBot.define do
  factory :user do
    nickname               {"taro"}
    email                  {"[email protected]"}
    password               {"00000000"}
    password_confirmation  {"00000000"}
  end
end

⑤테스트 실행

터미널
bundle exec rspec spec/models/user_spec.rb

좋은 웹페이지 즐겨찾기