我希望能夠測試遠程的三方API端點響應,這就是爲什麼我想寫一堆本地rspec測試並定期啓動它們以查看如果這些端點按預期工作而不會發生重大變化。由於我的應用程序高度依賴於這個不斷變化的API,因此我除了自動化測試外別無選擇。從RSpec發送一個真正的JSON發佈請求
此刻,我是正規rspec的API測試代碼:
require "rails_helper"
RSpec.describe "Remote request", type: :request do
describe ".send request" do
it ".posts valid data" do
post "http://123.45.67.89/api/endpoint",
params: {
"job_request_id": 123456,
"data": "12345",
"app_secret": "12345",
"options": {
...
}
}
expect(JSON.parse response.body).to include("message" => "success")
expect(response).to have_http_status(200)
end
end
end
這段代碼的問題是,Rspec的是打的而不是完整的URL http://123.45.67.89/api/endpoint
的/api/endpoint
網址。我怎樣才能改變這種行爲?