我在设置单元测试时遇到问题,我在API中收到了POST请求。
我在表上有一个关系,应该链接到创建POST请求的用户。在API中我链接正确的用户,如下所示:
$record->user()->associate($req->user());
效果很好,但我似乎无法编写有效的单元测试。
我的单元测试看起来像这样
$user = factory('App\User')->create();
$item = factory('App\Item')->create();
$response = $this->actingAs($user, 'api')->post('/route', $item);
$this->assertEquals(200, $response->status());
我在这里做错了什么?
答案 0 :(得分:0)
问题是我在进行API调用之前在数据库中创建了项目。
$item = factory('App\Item')->create();
应该是$item = factory('App\Item')->make();
和
$response = $this->actingAs($user, 'api')->post('/route', $item);
应该是$response = $this->actingAs($user, 'api')->post('/route', $item->toArray());