SORU
16 Mart 2012, Cuma


Test PHPunit PHP ile başlıkları

PHPunit bazı özel başlıkları verir, bir sınıfı test etmek için kullanmaya çalışıyorum.

Sorun benim makine bu:

<?php

class HeadersTest extends PHPUnit_Framework_TestCase {

    public function testHeaders()
    {
        ob_start();

        header('Location: foo');
        $headers_list = headers_list();
        header_remove();

        ob_clean();

        $this->assertContains('Location: foo', $headers_list);
    }
}

ya da şu:

<?php

class HeadersTest extends PHPUnit_Framework_TestCase {

    public function testHeaders()
    {
        ob_start();

        header('Location: foo');
        header_remove();

        ob_clean();
    }
}

bu hatayı döndürebilir:

name@host [~/test]# phpunit --verbose HeadersTest.php 
PHPUnit 3.6.10 by Sebastian Bergmann.

E

Time: 0 seconds, Memory: 2.25Mb

There was 1 error:

1) HeadersTest::testHeaders
Cannot modify header information - headers already sent by (output started at /usr/local/lib/php/PHPUnit/Util/Printer.php:173)

/test/HeadersTest.php:9

FAILURES!
Tests: 1, Assertions: 0, Errors: 1.

Bu testi başka bir dosya dahil olsa çalıştırmadan önce başka bir terminal çıkış ise yok gibi görünüyor ve PHP etiketinin başlamadan önce başka bir karakter yok. Bu neden PHPunit içinde bir şey olabilir mi?

Sorun ne olabilir?

CEVAP
30 Mayıs 2012, ÇARŞAMBA


Ayrı bir süreçte test çalıştırma sorunu gidermek rağmen, testlerin büyük bir takımı çalıştırırken dikkat çekici bir yükü var.

Benim düzeltme gibi stderr: phpunit çıkışı doğrudan

phpunit --stderr <options>

Bu sorunu çözmek gerekir, ve aynı zamanda kapsayıcı bir işlev oluşturun ve tüm tekrarlarını değiştirmek zorunda değilsin kodunuzu anlamına gelir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ★TheCrono Official Channel★

    ★TheCrono

    3 Mayıs 2014
  • ASUS North America

    ASUS North A

    12 AĞUSTOS 2008
  • infodirt

    infodirt

    11 Mart 2009