私は機能をテストしており、ApplicationControllerからメソッドを呼び出す必要があります。メソッド内でメソッドgta_data
を呼び出す方法はありますか?私は機能をテストしており、ApplicationControllerからメソッドを呼び出す必要がありますが、どうすればいいですか?
def gtm_data(data_hash = nil)
@gtm_data ||= {}
if @dynamic_page
gaPageUid = 'category-' + @dynamic_page.uid
else
gaPageUid = 'other'
end
@gtm_data = {
gaLocale: @locale, gaLanguage: @lang,
gaRegion: current_site.region, gaPageUid: gaPageUid
}
@gtm_data
end
スペック/機能/ application_page.rb
describe 'Application Page' do
before :each do
@application_page = FactoryGirl.create(:application_page, meta_title: 'catched!')
end
describe 'gaming layout' do
before :each do
@product = Presenters::Product.new(FactoryGirl.create(:product))
@page_url = "http://de-de.test.de/application_pages/#{@application_page.id}"
end
it 'ignores the serie version if have not sufficient data' do
visit @page_url
expect(page).to have_content @product.name
end
end
end
のページにリダイレクトするが、1つの問題があります。 'expect(page).to have_content @ product.name'の確認 私はテストに失敗しました。私は 'gtm_data'メソッドのためにそれを発見しました。 –
この場合、 'gtm_data'があなたのテストにどのように影響するのかを知りたがっています。そして、あなたのユースケースでこの論理が正しいかどうかを調べます。もしそうなら、テストは実際に失敗するはずです。そうでない場合は、ロジックを変更する必要があります。 コアポイントはまだあります。フィーチャの仕様では、ユーザーの行動やアプリの反応をテストする必要があります。 – VAD