Как проверить функции с помощью rspec-rails? - PullRequest
0 голосов
/ 01 июля 2019

Я пытаюсь протестировать свою систему аутентификации в новом проекте Rails 5. Поэтому я сделал следующие тесты:

require "rails_helper"

feature "User sign up", type: :feature do
  subject     { page }
  let!(:user) { build :user }
  before      { visit "/users/sign_up" }

  scenario "User creates new account" do
    find_field('user[name]').set(user.name)
    find_field('user[email]').set(user.email)
    find_field('user[password]').set(user.password)
    find_field('user[password_confirmation]').set(user.password)
    click_button "Log in"
    expect(User.count).to eq 1
  end
end

Все идет хорошо, пока мне не нужно проверить фактическое создание пользователя. Вот тогда я не могу понять, как правильно протестировать эту функцию. Мне чего-то не хватает, если я использую для этого что-то вроде веб-драйвера или капибары?

Это соответствующие разделы моего гемфайла:

gem 'devise'

group :development, :test do
  # Tests
  gem 'rspec-rails'
  gem 'jasmine-rails'
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  # Factory & Mocks
  gem 'factory_bot_rails'
end

group :test do
  # Adds support for Capybara system testing and selenium driver
  gem 'capybara', '~> 3.21'
  gem 'selenium-webdriver', '~> 3.142', '>= 3.142.3'
  # Easy installation and use of chromedriver to run system tests with Chrome
  gem 'webdrivers', '~> 4.0'
end

Приветствую, предложения и руководства по уже работающим способам тестирования функций с использованием rspec-rails

...