嗨,我正在尝试为表单添加symfony单元测试。这是我的代码...
$crawler = $this->client->request('GET', '/admin/user/new');
$form = $crawler->selectButton('Save')->form(array(
'user[displayName]' => 'user',
'user[username]' => 'user@yahoo.com',
'user[password]' => 'user123',
'user[phoneNumber]' => '1234789',
'user[roles]' => 'ROLE_USER',
));
$crawler = $this->client->submit($form);
$crawler = $this->client->followRedirect();
$this->assertGreaterThan(
0, $crawler->filter('html:contains("Le tue modifiche sono state salvate!")')->count()
);
但是我最终只会遇到这个错误,
InvalidArgumentException:当前节点列表为空。
当我尝试使用英语时,该方法有效,但仅当我在应用程序中将默认语言更改为意大利语时,该方法才会失败。
答案 0 :(得分:1)
该按钮似乎需要意大利语翻译。 当前节点列表为空,表示无法获取$form = $crawler->selectButton('Save')
节点。因为我已将界面翻译为意大利,所以不得不将其改为意大利文字。
$form = $crawler->selectButton('Salva')
而且您可以通过班级或身份证获取信息,因此语言无关紧要。
$form = $crawler->filter('button.btn-success')
我保留了此信息,以防有人从中汲取一些东西...