gpt4 book ai didi

php - Laravel 5.1 - 测试多选框

转载 作者:可可西里 更新时间:2023-11-01 00:08:42 25 4
gpt4 key购买 nike

当我使用 Laravel 5.1 测试助手为多选框编写测试时遇到问题。

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

Symfony\Component\CssSelector\Exception\SyntaxErrorException: Expected identifier or "*", but found.`

这怎么可能绕过去?我也用 ID 测试过,但是然后我收到错误“无法访问的字段“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);

关于php - Laravel 5.1 - 测试多选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31399078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com