Mã của bạn không hoạt động như has_text?
(và do đó have_text
) Phương pháp kiểm tra văn bản Capybara, chứ không phải nguồn html của phần tử nó được gọi về.
Nếu bạn sử dụng trình điều khiển hỗ trợ đánh giá Javascript (ví dụ như Selenium, Poltergeist hoặc Capybara-Webkit), bạn có thể nhận được HTML bên trong của phần tử sử dụng Javascript:
html = page.evaluate_script("document.getElementById('answer-15988092').innerHTML")
html.should include('this is <b>bold</b> "text"')
Nếu bạn muốn khẳng định rằng toàn bộ mã HTML của trang chứa phần tử bạn có thể sử dụng phương thức html
trả về nguồn trang:
page.html.should include('this is <b>bold</b> "text"')
Thông thường tôi thích javascript đánh giá vì nó hạn chế hơn.
Nguồn
2013-04-13 21:28:04
bản sao có thể có của [Làm cách nào để nhận HTML trong phần tử sử dụng Capybara?] (Http://stackoverflow.com/questions/4071937/how-do-i-get-the-html-in-an-element -using-capybara) –