Tôi đang viết thông số yêu cầu và muốn kiểm tra sự hiện diện của chuỗi "Báo cáo» Báo cáo Lão hóa ". Tôi nhận được một lỗi (không hợp lệ multibyte char) nếu tôi đặt trong nhân vật trong biểu hiện khớp của tôi trực tiếp, vì vậy tôi cố gắng này: page.should have_content("Reports » Aging Reports")
Kiểm tra Rspec cho các thực thể html trong nội dung trang
này không kiểm tra với thông điệp:
expected there to be content "Reports » Aging Reports" in "\n Reports » Aging Reports\n
tôi đã thử những thứ như .html_safe
mà không thành công. Có cách nào để kiểm tra văn bản có chứa các thực thể html không?
Edit:
Đây là khu vực có liên quan của các nguồn html:
<a href="/reports">Reports</a> » <a href="/aging_reports">Aging Reports</a>
Đó là khả năng vì nguồn HTML có chứa một ' »' và không phải là một' » '. Thay đổi HTML để bạn sử dụng '»' thay vì '» '. HTML được hiển thị thực tế là gì? Phần '» 'của nguồn HTML hay được định nghĩa là' » 'trong nguồn HTML? Vui lòng cho chúng tôi biết mã nguồn HTML. Bạn không chắc chắn tại sao "mong đợi" hiển thị '»' thay vì '»'. – Zabba
HTML thực sự là » » là một dạng khác của thực thể » mà tôi đã thử, nhưng tôi đã cập nhật câu hỏi. – MWean
Dường như RSpec đang chuyển đổi '» 'thành' »' cho bạn. Hãy thử bao gồm các ký tự thực tế trong thử nghiệm của bạn. – thomasfedb