コントローラーPlanetsControllerで " generate_coordinate " (app/helpers/planets_helper.rb にあります)という名前のメソッドを使用します。
テストを実行すると、rspec がアクセスできないようで、惑星に座標がないためにテスト スイートが失敗します。
utility.rbファイルの先頭にヘルパーを含めようとしましたが、うまくいきませんでした
include ApplicationHelper
include PlanetsHelper
また、utilities.rb ファイル内にメソッドを記述しようとしましたが、成功しませんでした。
この投稿「カピバラ統合テストのヘルパーメソッドをどこに/どのように含めるか」を読みましたが、役に立ちませんでした。
「スタブ」関数についても読みましたが、それが何に使用できるのか理解できないため、あまり役に立ちませんでした...
何か案が ?
これが私のテストコードです(spec/requests/planet_pages_spec.rb)
describe "Create planet" do
before do
visit new_planet_path
fill_in "Name", with: "MyPlanet"
click_button "Validate"
end
it {should have_selector('h1', text: "Planet")}
end
「検証」をクリックすると、「generate_coordinate」メソッドを呼び出すPlanetsControllerにつながります
def create
@planet = Planet.new(name: params[:planet][:name],
coordinates: generate_coordinates, [...])
if @planet.save
redirect_to action: 'index'
else
render 'new'
end
そして、ここに generate_coordinate メソッドがありますが、これは rspec によって呼び出されたことはないようです (ブラウザでナビゲートするときです)。
module PlanetsHelper
def generate_coordinates
coordinates = "0.0.0.0"
end
終わり