Ложный вызов метода из другого метода в том же контроллере в Laravel - PullRequest
0 голосов
/ 21 июня 2019

Я вызываю конечную точку, которая маршрутизирует на methodIWantToTest, вот так:

$response = $this->json('GET', 'my/endpoint/');

Я прилагаю приведенный ниже код, есть идеи, как я могу издеваться над вызовом второго метода? Спасибо.

class MyController extends Controller
{
    public function methodIWantToTest():
    {
        //some code to test  
        $this->methodIWantToMock()
        //some more code to test
    }
    public function methodIWantToMock():
    {
        //mock this response
    }
}

1 Ответ

1 голос
/ 22 июня 2019

Я не знаю, правильно ли я понимаю ваш вопрос, но вы уже делаете это. Я также не знаю, почему вы используете ':' после '()' в функции и вам нужна точка с запятой после вызова метода, который вы хотите вызвать

class MyController extends Controller
{
    public function methodIWantToTest()
    {
        //some code to test  
        $this->methodIWantToMock();
        //some more code to test
    }
    public function methodIWantToMock()
    {
        //mock this response
    }
}

вы также можете передать значение, если вы хотите просто сделать это

class MyController extends Controller
{
    public function methodIWantToTest()
    {
        //some code to test  
        $this->methodIWantToMock($value);
        //some more code to test
    }
    public function methodIWantToMock($value)
    {
        //mock this response
    }
}
...