Apa perbedaan konseptual antara spesifikasi fitur Rspec dan spesifikasi permintaan ?
Dari dokumen spesifikasi fitur:
Spesifikasi fitur adalah pengujian tingkat tinggi yang dimaksudkan untuk melatih fungsionalitas melalui aplikasi. Mereka harus menjalankan aplikasi hanya melalui antarmuka eksternalnya, biasanya halaman web.
Dan untuk spesifikasi permintaan:
Spesifikasi permintaan menyediakan pembungkus tipis di sekitar pengujian integrasi Rails, dan dirancang untuk mendorong perilaku melalui tumpukan penuh, termasuk perutean (disediakan oleh Rails) dan tanpa stubbing (terserah Anda). Dengan spesifikasi permintaan, Anda dapat:
- tentukan satu permintaan
- tentukan beberapa permintaan di beberapa pengontrol
- tentukan beberapa permintaan di beberapa sesi
Saya tahu bahwa spesifikasi fitur menggunakan Capybara dan spesifikasi permintaan tidak. Tapi itu hampir tidak memberikan konsep yang berbeda.
sumber
"GET /login"
blok yang menggambarkan dengan harapan diit
blok sepertiexpect(response.status).to eq(200)
danexpect(response).to render_template(:new)
, atau didescribe "POST /sessions"
,context "with valid credentials"
blok, denganexpect(response).to redirect_to(user)
danfollow_redirect!; expect(response.body).to include("Signed in")
visit users_path
) atau string yang di-hardcode (visit '/users'
) ?. Secara pribadi, saya memilih untuk tidak menggunakan aplikasi internal apa pun dalam spesifikasi semacam itu.