SORU
10 EKİM 2008, Cuma


PHPUnit - Ünite başlıkları göndermek için gereken öğeleri ile Test

Şu anda PHPUnit ile deneyin ve yazıyorum ne yanında testleri geliştirmek için çalışıyorum, ancak, şu anda Oturum Yöneticisi yazı üzerinde çalışıyorum, ve bunu yaparken sorunlar yaşıyorum...

Oturum yönetimi sınıfı için oluşturucu

private function __construct()
{
	if (!headers_sent())
	{
		session_start();
		self::$session_id = session_id();
	}
}

PHPUnit test başlamadan önce metin gönderir, ancak bu Nesne üzerinde herhangi bir test"," gönderilmiş . HTTP Başlıkları gibi başarısız bir test verir,

CEVAP
10 EKİM 2008, Cuma


Peki, oturum yöneticisi temelde tasarım tarafından bozuldu. Bir şey test edebilmek için, yan etkilerinden ayırmak mümkün olmalıdır. Ne yazık ki, PHP global devlet liberal kullanımı teşvik eder şekilde tasarlanmıştır(, , *, **exitheader2 5* vb. vb.).

Yapılacak en iyi şey, zamanında takas olabilir yan etkileri bir bileşeni, izole etmektir. Bu şekilde, testleri alay nesneleri kullanabilir, canlı kod adaptörleri kullanırken, yan etkileri var gerçekten. Bu iyi kullanıyorsun herhalde hangi tekiz, sevmez. Nesneleri kodunuzu dağıtılmış paylaşılan almak için başka bir mekanizma kullanmak gerekir. Statik bir kayıt ile başlayabilirsiniz, ama eğer öğrenme biraz umurunda bile daha iyi çözümler vardır.

Eğer bunu yapabilirsen, seni her zaman entegrasyon-test yazma seçeneği var. Örn. WebTestCase PHPUnit eşdeğer kullanın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Elliot Davin

    Elliot Davin

    28 Kasım 2008
  • NikkoNantone

    NikkoNantone

    21 Kasım 2011
  • ravinderosahn

    ravinderosah

    20 Temmuz 2009