[rails]Rspec에서 단위 테스트를 해보자!
- 단위 테스트
1개의 프로그램에 대해서, 정상적으로 움직이는지의 테스트.
(예) 모델 클래스마다
- 통합 테스트
1 연꽃 처리에 관한 테스트.
(예) 유저의 신규 등록용 화면으로부터 값을 입력, 송신해, 데이타베이스에 레코드가 추가될 때까지의 흐름
'Rspec'과 'factory_bot' 도입
"Rspec"는 테스트 할 jem,
'factory_bot'은 테스트를 할 때 일시적으로 정보를 생성합니다.
도움 도구입니다.
그러므로 함께 설치합시다.
①jemno
설치
Gemfilegroup :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.rbRSpec.configure do |config|
+ config.include FactoryGirl::Syntax::Methods
end
.rspec--format documentation
--require spec_helper
spec/models/user_spec.rb
spec/factories/users.rbFactoryBot.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
Reference
이 문제에 관하여([rails]Rspec에서 단위 테스트를 해보자!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/y__u/items/f620b8d55d8970f3213b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
group :development, :test do
gem 'rspec-rails'
gem 'factory_bot_rails'
end
bundle install
$ rails g rspec:install
#> create .rspec # RSpecの設定ファイル
#> create spec # スペックを格納する
#> create spec/spec_helper.rb # スペック記述のためのヘルパ
#> create spec/rails_helper.rb # Rails固有のスペック記述のためのヘルパ
RSpec.configure do |config|
+ config.include FactoryGirl::Syntax::Methods
end
--format documentation
--require spec_helper
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
Reference
이 문제에 관하여([rails]Rspec에서 단위 테스트를 해보자!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/y__u/items/f620b8d55d8970f3213b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)