在我的rails应用程序中,我向用户询问他们喜欢的颜色。他们选择一个值(十六进制输入)。保存颜色(例如#D2D2D2),然后将其作为background-color元素应用于预定义的css类:
<html>
<body>
<style>
.favorite_color { background-color: #D2D2D2; } /* updated dynamically <%= @user.favorite_color %> */
</style>
<div class="favorite_color">My favorite color</div>
<div class="some_content">Some content</div>
<div class="favorite_color">My favorite color again</div>
</body>
一切正常,但我现在想知道如何测试保存的值是否正确应用为div出现的背景颜色。
我试过(使用rspec和capybara): p page.find(&#39; .favorite_color&#39;)[:style]
但我最终以nil作为输出。有没有人对如何获得背景颜色有任何建议,所以我可以测试它是否正确应用?
谢谢!
答案 0 :(得分:0)
您应该填写它并期望在您重新访问该页面时它就在那里。
fill_in 'the_id_of_the_input_field', with: '#D2D2D2'
expect(page).to have_field('the_id_of_the_input_field', with: '#D2D2D2')
或者如果您更喜欢使用课程
fill_in '.favorite_color', with: '#D2D2D2'
expect(page).to have_field('.favorite_color', with: '#D2D2D2')