PHPUnit testlerde Zend_Session yalıtma

1 Cevap php

Sitemde yetkilendirilmesi işlevselliğini test ediyorum. Zend_Auth yetkilendirme motoru olarak kullanıyor. Ama auth durum testleri ve ben her devrelerde de 'logout' yazmak gerekir arasında kalır.

Şimdi her şey yolunda. Ama sorun şudur. Gelince ben Zend_Auth kimlik doğrulama, veri depolamak için Zend_Session kullanır biliyorum. Bu nedenle, oturum tüm testler için yaygındır. Ben ileride sorunlara neden olabilir affraid duyuyorum.

Sizin tecrit her test için sessions yapmak için en iyi uygulama nedir bana söyleyebilir?

Şimdi setUp sadece elle başlayan oturumu hayal ve Teardown durdurabilirsiniz. Ama pek çok test var ve bu uygulama çok zaman alabilir.

1 Cevap

PHPUnit bütün bir test paketi için define a shared fixture (ortak bir set up) yapmanızı sağlar. Ancak, bu çözüm ortak bir küresel devlet üzerindeki bağımlılık gidermez yana sadece maskeleri testlerin tasarımında bir kusur. Daha iyi bir çözüm sisteminin seçilen parçaların davranışını kontrol etmek için belli sınıfların özel taslakları oluştururken, use test doubles etmektir.

Bu durumda bunu Zend_Session kullanımını atlar ve her birim test için istenen izinleri verir, böylece Zend_Auth bir saplama oluşturmak için deneyebilirsiniz.