InvalidArgumentException:找不到包含[Edit]的正文,名称或ID属性的链接

时间:2016-12-05 12:35:16

标签: laravel phpunit laravel-5.3

我正在测试一个带有按钮的页面,该按钮打开一个模态来编辑记录。

S

在我的刀片文件中,我有:

 $this->visit('/admin/dashboard/units')
            ->see($site->name . ' ' . '~' . ' ' . 'Units')
            ->see($unit_type->name)
            ->see($unit->unit_type_id)
            ->see($unit->status)
            ->click('Edit')

但仍然无效

但是我收到了这个错误:

  

有1个错误:

     

1)UnitsTest :: testEditUnit InvalidArgumentException:找不到   链接[编辑]的正文,名称或ID属性。

更新

我也试过传递像这样的id

<a class="button warning" data-open="editUnit{{ $unit->id }}">Edit</a>

1 个答案:

答案 0 :(得分:0)

问题在于我自己测试了编辑表单,但它是当前页面的一部分,采用模态。所以我将测试与创建测试结合起来。

$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已被删除。看到这个link,Adam有很好的升级tutorials