在进行网络测试时,Symfony无法在null上调用成员函数getId()

时间:2018-07-12 10:29:35

标签: php symfony symfony4

我现在正在测试我的控制器-只需在PostController中的store方法中,我就可以使用以下命令设置帖子的作者ID:

$post->setAuthorId($this->getUser()->getId());

我已经按照Simulate login

中的说明设置了客户端并登录以进行测试

在我的PostControllerTest-testStorePost中,我有以下内容:

public function testStorePost() 
{
    $this->logIn();
    $crawler = $this->client->request('GET', '/post/create');

    $form = $crawler->selectButton('Save')->form();
    $form->setValues(array(
        'post[title]' => 'symfonyfan',
        'post[body]'    => 'some random test',
    ));

    $crawler = $this->client->submit($form);
    $this->assertSame(Response::HTTP_OK, $this->client->getResponse()->getStatusCode());

}

然后在运行测试时出现以下错误:

  

错误:在null上调用成员函数getId()

我现在应该做什么?我了解在Controller中我无法获取用户ID,因为没有用户。测试时如何向我的方法提供此类数据?

0 个答案:

没有答案