カピバラでテストを書くのは初めてで、現在のページのURLを取得するのに問題があります。私はこのように書いた:
url = page.current_url + page.current_path
どういうわけか、ベースURLを返すだけです。ヘルプは大歓迎です。
これを試して:
url = URI.parse(current_url)
from capybara session doc :
現在のページの完全修飾URL
def current_url
driver.current_url
end
ドメイン情報なしの現在のページのパス
def current_path
URI.parse(current_url).path
end
あなたがしていることは正しくないと思う
have_current_path
を使用できます:
expect(page).to have_current_path(new_user_path)
私が次のようなことをしているのを見る前に:
def current_path
current_uri = URI.parse(page.current_url)
current_path = current_uri.path
current_path += "?#{current_uri.query}" if current_uri.query.present?
current_path
end