Я пишу unit test для моего проекта PHP,
unit test предназначен для моделирования данных php://input
,
и я прочитал руководство, в нем говорится:
php://input - поток, доступный только для чтения, который позволяет вам читать исходные данные из органа запроса.
Как смоделировать php://input
или написать тело запроса в моем PHP?
Здесь мой исходный код и unit test, оба упрощены.
Источник
class Koru
{
static function build()
{
// This function will build an array from the php://input.
parse_str(file_get_contents('php://input'), $input);
return $input;
}
//...
Unit Test
function testBuildInput()
{
// Trying to simulate the `php://input` data here.
// NOTICE: THIS WON'T WORK.
file_put_contents('php://input', 'test1=foobar&test2=helloWorld');
$data = Koru::build();
$this->assertEquals($data, ['test1' => 'foobar',
'test2' => 'helloWorld']);
}