Bir soru daha önce birçok kez sordu ama belirli bir eğik twds mvc geliştirme ile.
Ben çok iyi bir çocuk oldum ve tüm denetleyici eylemlerimi harika olan karşılık gelen birim testleri ile kodluyorum (biraz [tekrar zaman oku] tekrarlı ise). Dürüst olmak gerekirse, aslında intial birim testlerinin çıplak kemiklerinin çoğunu yazmak için küçük bir T4 şablonu oluşturdum ve daha sonra kullanıma göre ayarladım. Kısmi görüş içeren görünümlerde testlerin nasıl yapılacağından emin olmadığımı itiraf edeceğim - ancak bu başka bir soru için bir hikaye.
Şimdi karar vermem zor olan şey, kapsamın hizmet katmanımda ne kadar derin olması gerektiği. Bunun nedeni, bazı servis yöntemlerimin (daha iyi veya daha kötü) aslında yöntem içinde sonraki mantığa gizli bilgi sağlayan çeşitli linq sorguları gerçekleştirmesidir. Ben sadece her linq deyimi için gerekli mantığı çağırmak ve daha sonra yöntem içinde uygulamak için bu yöntemleri yıkmak (gerekir ??) biliyorum. Bununla birlikte, birçok durumda, linq 'işlevlerinin' hiçbir zaman yeniden kullanımı yoktur ve bu nedenle, bunun kodu çok ileri bir seviyeye çıkaracağını düşünür.
Sorduğum şey, bir yöntem içinde karmaşık mantık oluşmasıyla, sadece gerekli sonucu ve / veya beklenen hatayı ortaya koyan bir test yöntemine sahip olmak ya da her mantık çizgisinin de simüle edilmesi ve test edilmesi gerektiğidir. Gördüğüm şekilde, testi doğru yapmak için, yöntem mantığı (satır satır) da bir tür kapsama giriyor olmalı. Ancak (saf görüşüme göre), testlerin kendisinde bir yazlık endüstrisi oluşturmak için testi ve uygulanan yöntemi bu kadar yakından hizalanmış (ki olması gerektiğini biliyorum) tutmaya çalışmak için hiç bitmeyen bir döngüye yol açabilir.
Sorumun, bunu beyinsiz olarak görecek TDD adananlarından birkaçını rahatsız edebileceğini biliyorum. TDD kampında olmamak, bu benim için 'evet bir beyin', dolayısıyla soru.
btw - bunu fikirler için kontrol etmişti:
şimdi sabit inişlere fwd arıyorum :)
[değiştir] - bekarın yararına (şu anda bekar !!) 'yakın' seçmen. bu soru öznel değil . Çok odaklanmış bir konuda fikir birliği arıyorum. Negatif tutkuları karıştırmaya çalışmıyorum, teknolojideki kusurları ortaya çıkarmak istemiyorum - ben BÜYÜK bir hayranım. Bu nedenle, lütfen oy vermek yakınsa oy kullanmam için nazik bir yorum bırakın, çünkü belirsizlik veya yanlış bilgi varsa soruyu yeniden yapılandırmama yardımcı olabilir. bu soru, mvc nüfusunun büyük bir kısmına fayda sağlayabilir.
teşekkür ederim!!
jim