Saya mencoba menggunakan PHPunit untuk menguji kelas yang menghasilkan beberapa header khusus.
Masalahnya adalah di komputer saya ini:
<?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);
}
}
atau bahkan ini:
<?php
class HeadersTest extends PHPUnit_Framework_TestCase {
public function testHeaders()
{
ob_start();
header('Location: foo');
header_remove();
ob_clean();
}
}
kembalikan kesalahan ini:
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.
Ini terlihat seolah-olah ada sesuatu yang lain yang dikeluarkan ke terminal sebelum pengujian dijalankan meskipun tidak ada file lain yang disertakan dan tidak ada karakter lain sebelum permulaan tag PHP. Mungkinkah ada sesuatu di dalam PHPunit yang menyebabkan ini?
Apa masalahnya?