我正在开发一个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
并手动点击下一步,则预计会通过。
任何人都有这个想法。