RSpec,JavaScript事件测试不匹配

时间:2018-01-09 04:08:23

标签: javascript ruby-on-rails ruby rspec

我正在开发一个rails项目,我有一个类似下面的测试

苗条文件

a href="#" title="メールアドレスのルール説明" id="my_balloon"

js file

$(function() {
  var shown = false;
  $('#my_balloon')
    .showBalloon()
    .hideBalloon() //一旦非表示
    .on("click", function(){
       shown ? $(this).hideBalloon() : $(this).showBalloon();
       shown = !shown;
    }).showBalloon({
      contents: "次の文字は原則として利用できません。/ ! “@ # $ % & ‘ ( ) = ~ | \ ^ : ; * + ? < > , ` [ ] { }<br>@の直前には英数字のみとなります。<br>.(ドット)は2つ以上連続して利用できません。",
      html: true,
      classname: "balloon",
      position: "right",
      tipSize: 10,
      showDuration: 0,
      css: {
      opacity: "1",
      color: "#000",
      backgroundColor: "#F8F8FF",
      fontSize: "8px",
      borderRadius: "10px",
      border: "solid 1px #222"
    }
  });
});

rspec文件

RSpec.describe 'Balloon', type: :feature, js: true do
  before do
    WebMock.disable_net_connect!(:allow_localhost => true)
  end

  ...

  scenario "balloon", focus: true do
    visit '/mypage/balloon'

    find("#my_balloon").click

    # if balloon worked, below div will display with class balloon
    expect(page).to have_selector(:css, "div.balloon")
  end
end

但我不能让它在测试中发挥作用。在调试模式下它正常工作

  

如果我在第byebug行停止find("#my_balloon").click并手动点击下一步,则预计会通过。

任何人都有这个想法。

0 个答案:

没有答案