質問するログイン新規登録

回答編集履歴

1

Add second investigation

2020/07/09 10:38

投稿

y_shinoda
y_shinoda

スコア3272

answer CHANGED
@@ -1,3 +1,43 @@
1
+ ## 追記
2
+
3
+ > 頂いた通りexpectを指定してみたのですが、visitというメソッドが無かったり、page変数が無かったりしました。
4
+
5
+ `visit` が undefined method となる場合は
6
+ `spec_helper.rb` の `RSpec.configure` に
7
+ `config.include Capybara::DSL` を追加すると動作します:
8
+
9
+ ```ruby
10
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
11
+ ENV["RAILS_ENV"] ||= 'test'
12
+ require File.expand_path("../../config/environment", __FILE__)
13
+ require 'rspec/rails'
14
+ require 'rspec/autorun'
15
+
16
+ # Requires supporting ruby files with custom matchers and macros, etc,
17
+ # in spec/support/ and its subdirectories.
18
+ Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
19
+
20
+ RSpec.configure do |config|
21
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
22
+ # config.fixture_path = "#{::Rails.root}/spec/fixtures"
23
+ config.use_transactional_fixtures = true
24
+ config.infer_base_class_for_anonymous_controllers = false
25
+ config.order = "random"
26
+ # Include path helpers
27
+ config.include Rails.application.routes.url_helpers
28
+
29
+ # ↓ 追加
30
+ config.include Capybara::DSL
31
+
32
+ end
33
+ ```
34
+
35
+ 参考:
36
+ [Answer: undefined method `visit' when using RSpec and Capybara in rails](https://stackoverflow.com/a/15148622/12721873)
37
+ [Capybara + Rspecでvisitがundefined methodと言われたときの対策 - Qiita](https://qiita.com/katryo/items/d001c7058e45506ef1b7)
38
+
39
+ ## 元の回答
40
+
1
41
  `Capybara` を使い、次のように記述できるようです:
2
42
 
3
43
  ```ruby