Rspec'in feature specs ve request specs arasındaki kavramsal fark nedir? özellik Spec DokümanlarRSpec: Bir özellik ile istek özellikleri arasındaki fark nedir?
:
Özelliği gözlük bir uygulama üzerinden işlevsellik dilimleri egzersiz anlamına üst düzey testlerdir. Uygulamayı yalnızca web sayfaları olmak üzere yalnızca harici arabirim üzerinden sürmelidirler.
ayrıntılı bilgiler Rails'in entegrasyon testleri etrafında ince bir sargı sağlamak ve yönlendirme de dahil olmak üzere (Raylar tarafından sağlanan), tam yığını aracılığıyla davranışları sağlamak için tasarlanmıştır ve:
ve talep özellikleri için
stubbing olmadan (bu size kalmış). istek özellikleri ile şunları yapabilirsiniz:
- birden fazla oturumda birden çok istek belirtmek
- Birden çok kontrol genelinde birden isteklerini belirtmek tek isteği belirtmek
O özellik gözlük kullandığını biliyoruz Capybara ve özellikleri istekleri yapmayın. Ama bu pek farklı kavramları zorlaştırıyor.
Bu nedenle, hem özellik hem de özellik belirtme yöntemini kullanmanızı mı yoksa bir tanesini mi yoksa diğerini mi öneriyorsunuz? (TDD'ye yeni ...) – robertwbradford
Her ikisini de kullanıyorum @robertwbradford. Testlerimi dışarıda kullanmak için test özelliklerini kullanıyorum - kullanıcı deneyimini test ediyorum ve daha sonra birim testleri kullanarak işlevselliği yapıyorum. Yanıtları test etmek için istek özelliklerini kullanıyorum - ör. bir sessions_spec içinde '' GET/login' 'ifadesiyle' '' '' '' '' '' '' '(response.status) '' gibi '' bloklar '' '' '' '' '' 'bir ifadesi olabilir. yeni) ', veya bir' '' POST/oturumları' 'açıkla '' geçerli kimlik bilgisiyle bir 'bağlam' ',' 'engelle bekle (yanıtla). redirect_to (kullanıcı)' ve 'follow_redirect !; (response.body) .to dahil ("İmzalı") '' –
Ve denetleyici özelliklerini de kullanıyor musunuz? Talep özelliklerinde test ettiğiniz ile normalde denetleyici özelliklerinde test edilenler arasında bir miktar kopya var gibi görünüyor. – Ernesto