게시물과 블로그 클래스가 있습니다.Laravel & Mockery - 유닛 테스팅 관계형 데이터
아래에서 볼 수 있듯이 Post 클래스는 Blog 클래스에 따라 다릅니다. 다음과 같이
public function index(Blog $blog) {
$posts = $this->post->all()->where('blog_id', $blog->id)->orderBy('date')->paginate(20);
return View::make($this->tmpl('index'), compact('blog', 'posts'));
}
이 액션에 대한 URL은 :이 테스트하기 위해 노력하고있어
http://example.com/blogs/[blog_name]/posts
,하지만 난 문제로 실행 해요.
가 여기 내 테스트 클래스 PostTestController이다 : 나는 GET 호출을 테스트 할 수 있습니다 ... 어떻게
public function setUp() {
parent::setUp();
$this->mock = Mockery::mock('Eloquent', 'Post');
}
public function tearDown() {
Mockery::close();
}
public function testIndex() {
$this->mock->shouldReceive('with')->once();
$this->app->instance('Post', $this->mock);
// get posts url
$this->get('blogs/blog/posts'); //this is where I'm stuck.
$this->assertViewHas('posts');
}
질문은 이것이다, 때 얻을 자체가 데이터를 기반으로 변수 출력이 포함입니까? 이것을 올바르게 테스트하려면 어떻게해야합니까?