繁体   English   中英

Laravel 5.1 - 测试多个选择框

[英]Laravel 5.1 - Testing a multiple selectbox

当我使用Laravel 5.1测试助手为多选框编写测试时,我遇到了麻烦。

我已经尝试了storeInput和select,它有点像storeInput的别名。 当我使用多重选择并且我希望输入被格式化为数组时,我创建了一个<select name="roles[]">但是这不可测试,我不能写这样的东西$this->storeInput( 'roles[]', [ 1, 2 ] ) 我得到的错误是:

Symfony \\ Component \\ CssSelector \\ Exception \\ SyntaxErrorException:预期的标识符或“*”,但找到了。

怎么可能到处走? 我还测试了一个ID,但后来我得到了错误`Unreachable field“THE_ID”。

我这样做的方法是创建一个storeInput的覆盖,如下所示(我把它放在我的基础TestCase中,所以我可以从我的所有测试中得到它):

public function storeInput($element, $text, $force = false)
{
    if ($force) {
        $this->inputs[$element] = $text;
        return $this;
    }
    else {
        return parent::storeInput($element, $text);
    }
}

然后在测试多选时,剥去尾随大括号以获取传递给此方法的标识符:

$this->storeInput('roles', [1, 2], true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM