Emin kod hala üstlenmeden sonra çalıştığından emin olun nasıl (Dinamik dili)

4 Cevap php

Kod yine (yani değişken adı değişiklikten sonra) üstlenmeden sonra çalıştığından emin olmak için nasıl?

Statik bir dil olarak, bir sınıf adını ancak diğer atıfta sınıf değil ise, o zaman ben bir derleme hatası alırsınız.

Ancak dinamik dilinde böyle bir güvenlik ağı var, ve kod üstlenmeden sırasında kırabilir if you are not careful enough. Sen birim test kullanabilirsiniz, ancak mocks kullanırken bu isim değişiklikleri bilmek oldukça zor ve bir sonucu olarak, bu yardımcı olabilir.

Bu sorunu çözmek için?

4 Cevap

Eğer ünite testleri enought olmayacak, ya da yaratmak zor olacak derseniz, o zaman elbette muhtemelen daha yüksek düzeyde testler oluşturmak - Eğer değiştirmek için gidiyoruz ne test etmek mümkün olacak testler oluşturmak gerekir üstlenmeden başlamadan önce ürününüzün bütün excersising.

Bu oldukça yüksek bir değere ulaşmış oluyor ve testler güncel tutulmasını ve genişletilmiş eğer bir şey yapmak mümkün olacak sonra - Diliniz için kod kapsama araçları oluşturduk testlerin kalitesini ölçmek için kullanabilirsiniz varsa, çok verimli bir kodla ve şeyler yanlış yönde gitmiyor oldukça emin olun.

Ben benzeri ünite testleri, üstlenmeden ve üzerinde bir sınıf öğretim oldum ve bu muhtemelen çoğu kişi yanlış olsun ki şeydir. Üstlenmeden not sadece kodu değişiyor. Bu dış fonksiyonel davranışını değiştirmeden kodu değişiyor. Bu çok önemli bir noktadır.

Başka bir deyişle, dış işlevsel davranış üstlenmeden sonra sağlam olduğunu doğrulamak için bir yol olması gerekir. Ilahi içgörü eksik Bunun için birim testleri çok yararlı buluyorum. Refactoring üzerine kitabında, Martin Fowler bu doğrulama için otomatik testlerin kullanımını vurguluyor.

Kodunuzu TDD kullanılarak geliştirilen Eğer kodun kendisinin gelişimi sırasında geliştirilen gibi gerekli test paketi olacak. Eğer herhangi bir test mevcut olduğu için kod refactor gerekiyorsa, en iyi yaklaşım kod herhangi bir değişiklik yapmadan önce otomatik testler kurmak olacaktır. Ben mevcut kod testleri kurmak zor olabilir fark, ancak bunu yaparken kodu ile ilgili bir çok şey öğreneceksiniz.

Ayrıca bu size test paketi almak geribildirim karşı derleyici olsun geribildirim anlatılır gibi Bruce Eckel's essay on strong typing versus strong testing kontrol etmek isteyebilirsiniz.

Sizin kod derlenmiş bir dil bile üstlenmeden sırasında zarar verebilir. Yalnız dayanarak sıkıntı içine alacak. Otomatik test programı olması gerektiği gibi çalıştığından emin olmak için en iyi yoldur.

Eğer kullandığınız dinamik dil ne derseniz belki test size yardımcı araçlar hakkında bazı tavsiyeler sunabilir. Her test edilebilir.

EDIT:

Siz cevap verdi ve PHP ve Python kullanmak dedi.

Bu tarayıcıda testler oluşturmak için bir web uygulaması kullanım selenium ise. İlk başta sadece Selenyum IDE gerekir. Tüm bunlara rahatlıkla yürütebilirsiniz böylece tek bir Test Suite tüm testleri koyun. Liste büyüdükçe Selenyum RC ve Selenyum Izgara içine bakarak başlayabilirsiniz.

1) For Python use PyUnit for PHP phpunit. 2) TDD approach is good but also making tests after writing code is acceptable. 3) Also use refactoring tools that are available for Your IDE they do only safe refactorings. In Python You have rope (this is library but have plugins for most IDEs). 4) Good books are: 'Test-Driven Development by example' Best 'Expert Python Programing' Tarek Ziade (explain both TDD and refactoring)

google tdd ve veritabanlarını geliştirmek için TDD yaklaşımı hakkında iyi bir kitap bulmak için veritabanı.

Kullandığınız mocks için bilgi ekleyin. AFAIK mocks veritabanı veya ağ katılır sadece ihtiyaç vardır. Ama normalde birim test küçük kod pice (bir sınıf yalnızca) kapsamalıdır bazen iki sınıf yüzden hiçbir mockup gerekli!