質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
DateTime

多くのプログラミング言語におけるDateTimeオブジェクトは、日付と時間に関する演算と出力を行います。

RSpec

RSpecはRuby用のBDD(behaviour-driven development)フレームワークです。

テスト駆動開発

テスト駆動開発は、 プログラム開発手法の一種で、 プログラムに必要な各機能をテストとして書き、 そのテストが動作する必要最低限な実装を行い コードを洗練させる、といったサイクルを繰り返す手法の事です。

Q&A

0回答

476閲覧

Rspecでdatetime_selectについて

iga_0023

総合スコア4

DateTime

多くのプログラミング言語におけるDateTimeオブジェクトは、日付と時間に関する演算と出力を行います。

RSpec

RSpecはRuby用のBDD(behaviour-driven development)フレームワークです。

テスト駆動開発

テスト駆動開発は、 プログラム開発手法の一種で、 プログラムに必要な各機能をテストとして書き、 そのテストが動作する必要最低限な実装を行い コードを洗練させる、といったサイクルを繰り返す手法の事です。

0グッド

1クリップ

投稿2019/12/20 11:35

前提・実現したいこと

rspecのsystemテストでイベント作成動作の確認をしたいです
view側のdatetime_selectの値をデータで入れるテストができません
教えてください、、
この方法でなくても、もっと簡単な方法があれば教えて欲しいです

発生している問題・エラーメッセージ

Capybara::ElementNotFound: Unable to find xpath ".//label[contains(.,'event_started_at')]"

該当のソースコード

view

1<%= f.label :start_at, "開始時間" %> 2<%= f.datetime_select :start_at %>

selectDateSpecrb

1module SelectDateHelpers 2 def select_date(date, options = {}) 3 field = options[:from] 4 base_id = find(:xpath, ".//label[contains(.,'#{field}')]")[:for] 5 year, month, day = date.split(',') 6 select year, :from => "#{base_id}_1i" 7 select month, :from => "#{base_id}_2i" 8 select day, :from => "#{base_id}_3i" 9 end 10 11 def select_time(hour, minute, options = {}) 12 field = options[:from] 13 base_id = find(:xpath, ".//label[contains(.,'#{field}')]")[:for] 14 select hour, :from => "#{base_id}_4i" 15 select minute, :from => "#{base_id}_5i" 16 end 17end

railsHelperrb

1RSpec.configure do |config| 23 config.include SelectDateHelpers 4end

eventSpecrb

1 2 describe 'イベントの作成'do 3 before do 4 visit new_event_path 5 fill_in 'タイトル',with: "title" 6 fill_in '会場', with: "location" 7 select_date("2019,9,28", from: "event_started_at") 8 select_time("13", "00", from: "event_started_at") 9 click_button 'イベント作成' 10 end 11

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問