Một điều cần nhớ là để đảm bảo sử dụng Ví dụ đúng phiên để bạn đúng cách có thể tóm lược những người giúp đỡ url.
Kiểm tra tích hợp cung cấp cho bạn phiên mặc định. Bạn có thể gọi all session methods trực tiếp từ các bài kiểm tra của bạn
test "should integrate well" do
https!
get users_path
assert_response :success
end
Tất cả những người giúp đỡ đang sử dụng ví dụ phiên mặc định, mà nếu không thay đổi, đi đến "www.example.com". Như đã đề cập máy chủ có thể được thay đổi bằng cách làm chủ! ("My.new.host")
Nếu bạn tạo nhiều phiên sử dụng phương pháp open_session, bạn luôn luôn phải sử dụng ví dụ đó để gọi các phương thức helper. Điều này sẽ đóng gói đúng yêu cầu. Nếu không ray sẽ gọi dụ phiên mặc định mà có thể sử dụng một máy chủ khác nhau:
test "should integrate well" do
sess = open_session
sess.host! "my.awesome.host"
sess.get users_url #=> WRONG! will use default session object to build url.
sess.get sess.users_url #=> Correctly invoking url writer from my custom session with new host.
sess.assert_response :success
end
Nếu bạn có ý định sử dụng các đối tượng session mặc định, sau đó bạn sẽ phải thay đổi máy chủ đó cũng như:
test "should integrate well" do
sess = open_session
sess.host! "my.awesome.host"
host! sess.host #=> Set default session host to my custom session host.
sess.get users_url
end
'host! 'user.myapp.com'' làm việc cho tôi – deb
Trong một spec điều khiển, tôi gặp lỗi khi cố gắng sử dụng 'host!'. Đặt '@ request.host' giống như câu trả lời gợi ý làm việc. –
Và làm cách nào để sử dụng nó với RSpec? Ý tôi là, tôi định cấu hình nó ở đâu? cảm ơn nhiều! – FRAGA