Laravel 테스트를 배우고 있으며 Laravel Framework Assertions을 사용하고 싶습니다.내 테스트에서 assertViewHas 메서드를 사용할 수 없습니다.
public function __construct()
{
$this->mock = Mockery::mock("Eloquent", "Post");
}
public function testIndex()
{
$this->mock
->shouldReceive('all')
->once()
->andReturn('foo');
$this->app->instance('Post', $this->mock);
$this->call('GET', 'posts');
$this->assertViewHas('posts'); // This method seem can't be find
}
내 IDE가 IT를 찾을 수있는 방법을 자동으로 완성 할 수 없기 때문에 assertViewHas
방법은 존재하지 않는 것 같다,하지만 난 Laravel 5.5 API에서 검색 할 때 나는에 assertViewHas 방법에서 그 방법을 찾아 TestResponse
클래스의 Illuminate/Foundation/Testing
네임 스페이스 이 문제를 어떻게 해결할 수 있습니까?
또 다른 문제는이 테스트에서 내 Post
모델을 조롱하기 위해 조롱을 사용하고 있지만 내 터미널에서 vendor\bin\phpunit
을 실행하면 오류가 발생한다는 것입니다. 당신은 실행의
$response = $this->call('GET', 'posts');
$response->assertViewHas('posts');
기본 방법을 사용해야합니다
$this->call('GET', 'posts');
$this->assertViewHas('posts'); // This method seem can't be find
다음 array_merge()
가의
테스트 클래스가 Laravel의'TestCase' 클래스를 확장합니까? – Jeffwa
'array_merge'라고하는 곳에서 코드를 보여주세요.하지만 실제로는 별도의 질문이되어야합니다. – Jeffwa
예! 내 수업은 laravel의'Tests \ TestCase'를 확장합니다 – yvesdaxmaz