我正在使用Rubymine在Rails4,rspec和capybara中創建一個項目。當我使用let
語法來定義Capybara功能中的變量時,RubyMine似乎無法檢測到變量的存在。例如,在下面的代碼中,變量capsuleHash
,capsuleForm
和capsuleViewPage
都未在情景部分中的intelliJ中被識別。有沒有人有解決方法?Rubymine是否支持rails的「let」語法?
require 'spec_helper'
feature 'Capsules Feature' do
let(:capsuleHash) {attributes_for(:tdd_capsule)}
let(:capsuleForm) {CapsuleCreateForm.new}
let(:capsuleViewPage) {CapsuleViewPage.new}
scenario 'Add a new capsule and displays the capsule in view mode' do
visit '/capsules/new'
expect{
capsuleForm.submit_form(capsuleHash)
}.to change(Capsule,:count).by(1)
capsuleViewPage.validate_on_page
expect(page).to have_content capsuleHash[:title]
expect(page).to have_content capsuleHash[:description]
expect(page).to have_content capsuleHash[:study_text]
expect(page).to have_content capsuleHash[:assignment_instructions]
expect(page).to have_content capsuleHash[:guidelines_for_evaluators]
expect(page).to have_link 'Edit'
end
end
你可以分享你得到的具體錯誤和任何相關的堆棧跟蹤? –
彼得沒有堆棧跟蹤。當我在rspec中運行該功能時,它工作正常。問題是,因爲RubyMine沒有檢測到這些變量的存在,所以我沒有使用點的自動完成功能,並且在下面放置了一條扭曲的線條,這讓我覺得很煩。 – Gurpreet