我正在用一个按钮测试一个页面,该按钮打开模式以编辑记录。
$this->visit('/admin/dashboard/units')
->see($site->name . ' ' . '~' . ' ' . 'Units')
->see($unit_type->name)
->see($unit->unit_type_id)
->see($unit->status)
->click('Edit')
在我的刀片文件中我有:
<a class="button warning" data-open="editUnit{{ $unit->id }}">Edit</a>
但仍然不起作用
但是我得到了这个错误:
有1个错误:
1)unitstest :: testeDitunit无效Exception:找不到 与[edit]的主体,名称或ID属性链接。
update
我也尝试通过这样的ID
<a id="Edit" class="button warning" data-open="editUnit{{ $unit->id }}">Edit</a>
问题是我正在单独测试编辑表单,但它是当前页面的一部分,以模式为单位。因此,我将测试与这样的创建测试相结合。
$this->visit('/admin/dashboard/units')
->see($site->name . ' ' . '~' . ' ' . 'Units')
->seePageIs('/admin/dashboard/units')
->type('Unit 1', 'name')
->select($unit_type->id, 'unit_type_id')
->press('Add Unit')
->see('Unit saved successfully')
->see('Unit 1')
->seeInDatabase('units', [
'name' => 'Unit 1',
'unit_type_id' => $unit_type->id
])
->click('Edit')
->type('Edited Unit', 'name')
->select($unit_type->id, 'unit_type_id')
->press('Save')
->see('Unit Updated Successfully')
->see('Edited Unit')
->seeInDatabase('units', [
'name' => 'Edited Unit',
'unit_type_id' => $unit_type->id
])
->click('Delete')
->press('Yes')
->see('Unit Deleted Successfully')
->dontSee('Edited Unit')
->dontSeeInDatabase('units', [
'name' => 'Edited Unit',
'unit_type_id' => $unit_type->id
]);
也值得注意的是,从Laravel 5.4测试方法中,例如visit
,see
,click
已删除。看到此链接,亚当有良好的升级教程