选中带有集成测试的复选框

时间:2016-06-09 22:11:47

标签: laravel integration-testing laravel-5.2

我有一个laravel 5.2 app,在视图中我有3个复选框

<input type="checkbox" name="roles[]" value="5">
<input type="checkbox" name="roles[]" value="11">
<input type="checkbox" name="roles[]" value="7">

我对页面进行了测试

$this->visit(route('staff.create'))
     ->type($name = str_random(), 'name')
     ->type($phone = str_random(), 'phone')
     ->set('roles', 5) // <--- what to do here
     ->press('Save')
     ->seePageIs(route('staff.index'))
     ->see($name);

一切正常,期待设置角色。检查测试帮助程序不允许您传递值($this->check($elementName))。我以为它会设置&#39;但那也失败了。

如何检查测试中的第一个复选框?

1 个答案:

答案 0 :(得分:0)

我检查了->storeInput('roles', [ 5 ]); 特质,我认为它不支持输入数组。您可以尝试将set()替换为:

 GraphicsPath gp = new GraphicsPath();
 gp.AddLine((float)(line.startX*10000), (float)(line.startY * 10000), 
            (float)(line.endX * 10000), (float)(line.endY * 10000));

15.742560625076294

如果还不够 - 您可以在测试用例中覆盖此方法。