PHPUnit test POST parametreler

3 Cevap php

Ben test yeniyim, ben test yazmak phpunit kullanıyorum. Tüm site MVC deseni kullanılarak dizayn edilmiştir.

Benim denetleyicileri her yöntemi test etmek istiyorum, sorun gibi yöntemler $ _POST değişkeni olsa parametreleri almasıdır. Nasıl bu değişkeni üzerine yazabilir?

Thanks in advance Alejandra

3 Cevap

En iyi yaklaşım, ayrı bir sınıfa soyut Request olmak ve tüm superglobal'leri erişmek olmaz. Eğer uygulamadan gerçek sunucu ve isteği çevreyi decouple Bu şekilde. Daha sonra kolayca İsteği alay edebilirsiniz.

Öncelikle, Zend_Test kullanıyorsanız, kullanmak

$this->request->setMethod('POST')->setPost(array(insert array info here));

Senin o kullanarak değilse, bu deneyin:

En iyi çözüm değil, ama bu iş olacak: Uyarı!

Kurulumunuzda fikstür koy

 protected function setUp()
    {
        parent::setUp();
        $_POST = array();
    }

Sadece buna benzer bir şey yapmak sizin testi diyoruz sonra önce:

$_POST = array(insert array data here)

Bazıları clean, sizin yöntemleri callng önce, $_POST verileri ayarlayabilirsiniz değil diyecek bile: sadece okumak değil ;-)