1

簡単なスケジューリングアプリケーションがあります。スケジュールに新しいワークアウトを追加するフローを実行するようにリクエスト仕様を設定しました。フォームは送信時にハングしているように見え、スクリプトは数秒後にベイルします。手動で実行すると正常に動作し、コントローラーとモデルの仕様はすべて問題なく合格しています。

唯一のファンキーなことは、execute_scriptを使用してjquery datepickerと対話していることです。これは、正常に機能しているようです。実行を監視すると、エラーが発生していないことがわかります。127.0.0.1が応答するのを待っているだけで、発生していないようです。

describe "Workouts" do
  describe 'Create Workouts', js: true do
    it 'Creates a new workout and displays the workout\'s page'  do
      visit workouts_path
      expect {
        click_link "New Workout"
        fill_in 'workout_name', with: 'Workout!'
        fill_in '', with: '05/01/2012'
        page.execute_script %Q{ $('#workout_show_date').trigger("focus") } 
        page.execute_script %Q{ $("a.ui-state-default:contains('15')").trigger("click") }
        select('6', from: 'workout_time_4i')
        select('15', from: 'workout_time_5i')
        click_button 'Create Workout'
      }.to change(Workout,:count).by(1)
    end
  end
end
4

1 に答える 1

1

そのため、仕様をスリープ状態にした後、データベースがロックされているというエラーが返され始めました。これは、トランザクションフィクスチャがオンになっていることに関連する問題であることがGoogleによって明らかになりました。それをオフにすると、今ではすべての仕様が合格しています

于 2012-05-06T02:08:31.340 に答える