Я работаю над приложением, где текст условно отображается в свойстве содержимого псевдо-элементаи отображается на странице. После того, как изменение кода заставило этот важный текст случайно исчезнуть, мне захотелось написать тесты, которые могли бы захватить эту ошибку, если это произошло снова, но есть проблемы с захватом содержимого из псевдоселекторов. Я искал что-то вроде:Capybara: тест для содержимого в CSS PsuedoElements
#scss
.content-div {
&.condition-true {
&:before {
content: "conditional text";
}
}
}
#coffeescript
if @someCondition
$('content-div').addClass('condition-true')
else
$('content-div').removeClass('condition-true')
#spec
context "when true" do
it "should have the conditional text" do
# do thing that makes it true
expect(page).to have_content("conditional text")
end
end
Решение было не так легко, и я думал, что я поделюсь здесь и пусть другие комментарии, или предоставить другие решения.
Я использую Capybara 2.3.0 и Poltergeist 1.5.1.