phpunit - symfony 4 表单单元测试不起作用
问题描述
嗨,我正在尝试在 symfony 4 中测试表单。这是我的代码,
$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);
$this->assertGreaterThan(
0, $crawler->filter('html:contains("Your changes were saved!")')->count()
);
形式有价值观,但我得到的只是,
断言 0 大于 0 失败。
实际提交时,我收到此警报。
<div class="alert alert-success alert-dismissible">
Your changes were saved!
</div>
如果有人可以提供帮助
解决方案
由于表单提交总是被重定向,因此似乎需要遵循重定向。
$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("Your changes were saved!")')->count()
);
推荐阅读
- r - R面板数据集查找所有时变变量
- c++ - POCO 等 C++ 库如何访问网络?
- flutter - Flutter:onRefresh 回调返回 null
- docker - Azure 管道从错误的 Dockerfile 构建映像
- node.js - 使用 Knex 连接到服务器,如何解决错误未处理的拒绝错误:密码验证失败
- grafana - Unable to run Grafana server on local system
- python - Keras:过拟合模型?
- c# - 自动映射器中的复杂对象到列表映射 - RESTAPI
- html - 样式列表::之前并保持编号
- reactjs - 删除三级组件(一个组件有一个组件数组,每个组件都有一个组件数组)