我有一个帖子和一个博客类。
从下面可以看出, Posts 类依赖于 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:
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');
}
问题是……当 get 本身包含基于数据的变量输出时,如何测试 get 调用?如何正确测试?