imperative and declarative cucumber steps arasındaki farkı anlıyorum, ancak bununla ilgili gerçek bir dünya örneği görmedim. Her zaman özellik dosyalarımın çok ayrıntılı hale geldiğini hissediyorum.CRUD işlemlerini tanımlamak için bildirim belirtme özelliği nasıl yazılır?
foobars/list_foobars.feature
foobars/create_foobar.feature
foobars/view_foobar.feature
foobars/edit_foobar.feature
foobars/delete_foobar.feature
yaşam döngüsünün her adım için bir salatalık özellikle karşılaşıyorum gerekir gibi görünüyor
Tek başına oluşturma özelliğinde, girilebilecek alanları, hangilerinin gerekli olduğunu, geçersiz veri girdiğinizde ne olacağını listelemek istediğiniz gibi görünüyor. Bildirmek için bir bildirim yolu bilmiyorum bu. Elbette sonraki özelliklerde, bir tane oluşturmak için tüm adımları atmak yerine Given a foobar exists
diyeceksiniz.
Uygulamanızın davranışını açıklarken ne kadar ayrıntılı gider? Kabul edilebilir bir şekilde tamamlandığını düşündüğünüz özellik dosyaları için bazı örnekler sağlayabilir misiniz?
# foobars/edit_foobar.feature
Feature: As a user, I want to edit a Foobar, so I can Baz
Scenario: Validation Errors
Given I am logged in as a user
And a foobar exists
And I edit the foobar with invalid data
Then I should see validation errors
Bunu biz dışarı istediğini yakalar düşünüyorum:
İlginç, teşekkürler! Takip eden soru: iş mantığını iletmek için salatalık özelliklerini hiç kullanıyor musunuz? Geçerli veya geçersiz veri olarak adlandırılan tek bir adımı atmak, önemli bir iş mantığı parçası olabilecek davranışları gizlemek gibi görünüyor. Örneğin, iş mantığı hangi alanların gerekli olduğunu belirleyebilir, böylece "gerekli alanları dolduruyorum" gibi bir adım yeterince iletişim kuramayabilir. Düşünceler? – Andrew
Bazı durumlarda (geçerli yasalara uyum için olduğu gibi) belirli bir alan gerektirmesi için geçerli iş nedenleri vardır, ancak çoğu zaman bir kişinin bir alanın depolanmasını istediğinde, bunun arkasında başka bir hikaye olduğunu (pazarlama materyallerini e-postayla göndermek istiyorum) veya kullanıcıların e-posta ile giriş yapabilmelerini istemek). İkinci durumda, gereken alan bir uygulama detayıdır, bu yüzden ünite testi yapılmalıdır. Eski durumda, özellikle ürün sahibi ile iletişim kurmak için salatalık testlerini kullanıyorsanız, belirli olmak için zorunlu bir test yazmak isteyebilirsiniz. –
Bu soruya cevap vermiyor. –