lo recomiendo que en vez de tratar de localizar el estilo CSS, en lugar de escribir sus pruebas para encontrar el nombre de la clase css .
De esta manera puede cambiar el estilo de css subyacente manteniendo la clase igual y sus pruebas aún pasarán.
La búsqueda del estilo subyacente es frágil. Los estilos cambian frecuentemente Basar sus rspecs en encontrar elementos de estilo específicos hace que sus pruebas sean más frágiles; es más probable que fallen cuando todo lo que hace es cambiar la apariencia de un div.
Basar sus pruebas en la búsqueda de clases de CSS hace que las pruebas sean más robustas. Les permite asegurarse de que su código esté funcionando correctamente sin tener que cambiarlos cuando cambia el estilo de la página.
En este caso específicamente, una opción puede ser definir una clase css llamada .hidden
que establece display:none;
en un elemento para ocultarlo.
De esta manera:
css:
.hidden {
display:none;
}
html:
<div class="hidden">HIDE ME!</div>
capibara:
it {should have_css('div.hidden') }
Este capibara sólo se ve un div que tiene la hidden
clase: puede hacer que este emparejador sea más sofisticado si lo necesita.
Pero el punto principal es este: adjunte estilos a nombres de clase css, luego vincule sus pruebas con las clases, no con los estilos.
¿Cuál es el error? –