Tôi đang sử dụng gmaps4rails và cố gắng phát triển một số thử nghiệm.Làm thế nào để stub gmaps4rails chức năng mã hóa địa lý trong các thử nghiệm rspec?
tôi có một nhà máy
factory :country do
sequence(:name) { |n| "Country#{n}" }
end
được rõ ràng là không được công nhận bởi Google.
Validation failed: Gmaps4rails address Address invalid
Các cuộc gọi API cũng mất thời gian để chạy trong các thử nghiệm của tôi.
Làm cách nào tôi có thể tạm dừng cuộc gọi API?
Tôi đã thử thêm
before(:each)
Country.stub(:geocode)
end
vào file spec nhưng nó không có hiệu lực.
Mô hình của tôi trông như thế này
class Country < ActiveRecord::Base
acts_as_gmappable :lat => 'latitude', :lng => 'longitude'
def gmaps4rails_address
"#{self.name}"
end
geocoded_by :gmaps4rails_address
after_validation :geocode
end
Thanks cho bất kỳ ý tưởng.
Nó không trả lời? – apneadiving
Xin chào ơn. cảm ơn cho câu trả lời. Dường như địa chỉ không hợp lệ là phản hồi từ Google. Điều này có đúng không? Vậy làm thế nào để tôi có thể mã hóa địa lý? Tôi đang chạy một thử nghiệm duy nhất country_specs.rb, trong đó tôi có một trước: mỗi khối có chứa 'Country.stub (: geocode)'. Tôi đã thử một vài thứ khác '.stub_geocode',' .stub (: gmaps4rails) ', v.v. Nhưng mã hóa địa lý vẫn đang được chạy. Tôi sẽ thêm mã mô hình của tôi vào câu hỏi. Đánh giá cao bất kỳ đề xuất nào bạn có –
nó đến từ đá quý. Để xem thường xuyên ở đây: https://github.com/apneadiving/Google-Maps-for-Rails/blob/master/spec/support/geocoding.rb – apneadiving