Testowanie atrybutu docelowego łącza za pomocą Capybara / RSpec
Jestem trochę nowy w Railsach / RSpec / Capybara, więc jest to prawdopodobnie pytanie dla początkujących, ale Google nie pomógł tak bardzo, jak bym się spodziewał. Miałem nadzieję, że mógłbym użyć
it { should have_link('link text', href: 'url', target: '_blank') }
napisać test linku, który powinien otworzyć się w nowym oknie, ale to nie działa. Próbowałem również zawijać opcje mieszania w nawiasy klamrowe:
it { should have_link('link text', {href: 'url', target: '_blank'}) }
Test zawsze zakończy się sukcesem niezależnie od obecności lub wartości atrybutu docelowego w rzeczywistej testowanej stronie i łączu. Zmiana atrybutu href powoduje niepowodzenie testu zgodnie z oczekiwaniami. Myślałem, że hash opcji dla have_link był listą atrybutów do przetestowania. Najwyraźniej się mylę, ale jaki jest najlepszy sposób na przetestowanie pojedynczego linku dla jego atrybutu docelowego? Mam nadzieję, że nie użyjemy wyszukiwania XPath ...