InvalidArgumentException:找不到[edit]的主体,名称或ID属性的链接



我正在用一个按钮测试一个页面,该按钮打开模式以编辑记录。

 $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测试方法中,例如visitseeclick已删除。看到此链接,亚当有良好的升级教程

最新更新