1

私はTDDの初心者で、実際にテストの前にコードを書きました。コード自体は正常に動作し、メイン ページから onChange イベントが適用されます。ただし、テスト時に、選択したオプションとして別のオプションが選択されていても (オプションが変更されるため)、テスト時に onchange イベントが実際にトリガーされず、同じページにとどまっているようです。 ctscans/index"、取得: "/" (== を使用)

ようこそ_spec.rb

require 'spec_helper'

describe "Welcome Page" do
    before {visit root_path}
    subject{page}
        describe "with Ctscan selected" do

            before {select("CT Scan", :from => "procedure")}

            it {should have_select('procedure', :selected => 'CT Scan')}
            it "redirects to" do    
                select 'MRI', :from => 'procedure'
                current_path.should == ctscans_index_path
            end
        end

end

ビュー/ようこそ/index.html.erb

<%=select_tag(:procedure, options_for_select(@paths, :selected => @paths[0]),:onchange => "gotoNewPage()")%>

<script type="text/javascript"> 
function gotoNewPage() {
        if (document.getElementById('procedure').value){
            window.location.href = document.getElementById('procedure').value;
        }
}
</script>
4

1 に答える 1

3

仕様で JavaScript ドライバーを使用する必要があることを示していません。試す

describe "with Ctscan selected", js: true do ...
于 2013-08-21T05:20:41.640 に答える