symfony 单元测试:添加/修改表单操作

2024-02-24

我有一个没有操作的表单(用 javascript 提交),我试图为其编写一个单元测试,但它失败了,因为缺少“action”属性:

InvalidArgumentException :当前 URI 必须是绝对 URL ("")。

有没有办法在单元测试中添加它或使用爬虫修改html内容?

<form id="form_search_page">
    <input type="text" name="keyword" value="" />
    <button type="submit" name="searchBtn" id="searchBtn">Search</button>
</form>


$client = $this->makeClient(true);
$url = $this->createRoute("page_index"));
$crawler = $client->request('GET', $url);
$response = $client->getResponse();

$form = $crawler->filter('#form_search_page')->form();
$params = array(
    "form[text]" => "dummy title"
);
$form->setValues($params);
$crawler = $client->submit($form);
$response = $client->getResponse();
$this->assertGreaterThan(0, $crawler->filter('.pages li')->count());

我找到了解决方案:

$crawler
    ->filter('form#form_search_page')
    ->reduce(function (Crawler $form) use ($router) {
        $url = $router->generate('search_page', array(), true);

        $node = $form->getNode(0);
        if (!$node->hasAttribute('action')){
            $node->setAttribute('action', $url);
            $node->setAttribute('method', 'POST');
            return true;
        }
        return false;
    })
    ->first();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

symfony 单元测试:添加/修改表单操作 的相关文章

  • 一种无需 JavaScript 即可在 PHP 中确定浏览器宽度的方法?

    首先有吗 或者我必须使用javascript 我希望能够更改使用的 CSS 因此 frex 我可以为移动设备或其他设备加载较小的字体 不幸的是 仅使用 PHP 无法检测用户分辨率 如果您使用 Javascript 则可以在 cookie 中
  • 在服务器上找不到本地主机或 phpMyAdmin:如何修复?

    我按照安装说明进行操作PHP MySQL and PHPMyAdmin 但是当我尝试访问时http localhost phpmyadmin 我收到此错误 未找到 在此找不到请求的 URL phpmyadmin 服务器 然后我尝试访问loc
  • Yii2 - 错误请求 (#400) |前端和后端cookie

    仅当我打开时才会出现此问题frontend and backend在相同的browser 设想 与后端交互 gt 切换选项卡 gt 与前端交互 gt 切换选项卡返回 gt 与后端交互 gt 错误请求 400 Cookie 后端 identi
  • 是否可以将路由参数传递给 Laravel 中的控制器构造函数?

    是否可以将路由参数 或路由段 注入到控制器构造函数中 您找到一些代码来澄清我的问题 class TestController protected param public function construct paramFromRoute
  • PHP WCF 集成

    是不是如果我想支持php客户端访问我的服务 我必须有一个基本的http端点 这是因为php仍然只支持soap 1 1吗 据我所知 自从我使用 PHP 以来已经两年了 情况仍然如此 如果客户端应用程序将使用 PHP 的内置 SoapClien
  • PHP:读取所有传入 HTTP 请求的类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 GitHub Action 中使用不同版本的 PHP 进行测试

    我有一些 PHP 代码 其中包含使用以下命令运行的测试PHPUnit并想对其进行测试GitHub Actions 我在他们的文档中找不到测试 PHP 包的方法 我想使用不同版本的 PHP 进行测试 但他们只有最新的版本7 3安装 您可以添加
  • 无法获取log.d或输出Robolectrict + gradle

    有没有人能够将 System out 或 Log d 跟踪从 robolectric 测试输出到 gradle 控制台 我在用Robolectric Gradle 测试插件 https github com robolectric robo
  • 使用 PHP glob 列出 FTP 服务器上的文件不起作用

    我使用此代码来访问目录 location files pictures glob location png 我想使用 FTP 访问远程路径 location opendir ftp user password host name files
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • 使用值填充的 Symfony2 自定义字段类型

    这是先前问题的后续问题Symfony2 自定义表单类型或扩展 https stackoverflow com questions 24079288 symfony2 custom form type or extension 我正在尝试为订
  • 是否可以用 PHP 编写电子邮件解析器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Coffeescript + 单元测试:全局变量?

    我正在尝试使用 Jasmine 对用 CoffeeScript 编写的小型应用程序进行单元测试 我发现很多资料都说单元测试可以在从 CoffeeScript 编译的 JS 上完美地完成 如果所有内容都包装在匿名函数中以避免污染名称空间 如何
  • 从 Laravel 4 输入生成新数组

    我使用 Input all 从动态生成的表单中获取一些输入 我使用 jQuery 来允许用户添加字段 字段名称为 first names last names 和 emails input 变量现在看起来像这样 array size 4 t
  • Xcode 异步单元测试在主线程上等待

    我正在尝试使用 Xcode 中的单元测试来测试一些异步代码 但主线程被阻塞 问题在于 某些正在测试的代码期望从 iOS 类 AVFoundation 接收回调 但是 AVFoundation 类似乎只会在主线程上回调 问题是 如果我正在进行
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • 如何从实体内部获取Web目录路径?

    我研究了如何用 Doctrine 处理文件上传 http symfony com doc current cookbook doctrine file uploads html我不想硬编码 DIR web this gt getUpload
  • PHP 中的 -> 和 :: 有什么区别?

    这个东西困扰我好久了 一直找不到 在 php 中使用 和 gt 之间的类有什么区别 让我举个例子 想象一个名为 MyClass 的类 该类中有一个函数 myFunction 使用有什么区别 MyClass myclass new MyCla
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • 使用会话 php 创建 cookie?

    我使用会话来登录我网站中的用户 问题是 我想让用户remember密码 因此关闭 打开浏览器后他们不需要再次登录 我需要使用 cookie 和 session 来实现它吗 my code user POST user pass POST p

随机推荐

  • WooCommerce 自定义设置选项卡验证

    在 WooCommerce 中使用自定义设置选项卡时 例如 add filter woocommerce settings tabs array add my custom tab 50 function add my custom tab
  • 解析SSIS包

    我的文件系统文件夹中有几个 dtsx 包 我尝试使用下一个脚本从包中提取附加信息 using System using System Collections Generic using System Linq using System Te
  • postgres - 从现有表中选择 * - psql 说表不存在

    全新的 postgres 安装 数据库 test 表 Graeber 是从另一个程序创建的 我想查看表 Graeber 的内容 当我连接到数据库并尝试选择 Graeber 的内容时 应用程序告诉我 ERROR relation graebe
  • 如何使用Python在for循环中向谷歌云中的文件写入和读取json对象

    我正在尝试使用 python 将 json 对象列表写入谷歌云中的文件 我能够在文件中写入单个对象 但当我尝试将其写入 for 循环时 它不起作用 这是适用于单个对象但在我迭代编写时不起作用的代码 from google cloud imp
  • Hibernate的@Version可以考虑相关实体的变化吗?

    我有 2 个实体 Parent and Child处于一对多关系中 这Parent是版本化的 即有一个 Version 字段 我的目标是同步更改Parent and Child上的实体Parent的版本 例如 一个线程更新Parent另一个
  • 如何检查画布元素是否已被污染?

    基本场景 我正在客户端加载几张图像 其中一些来自另一个域 一些则不是 有些我可以使用crossOrigin属性 https developer mozilla org en US docs HTML CORS settings attrib
  • QuerySyntaxException 无效路径 + JPA + Hibernate 5.4

    我试图根据 CriteriaQuery 获取总行数 但出现异常 org hibernate hql internal ast QuerySyntaxException Invalid path generatedAlias1 package
  • 如何去掉tableview底部的空白区域

    QTableWidget 的 tableview 底部总是有一个平淡的区域 如何去掉这个空白区域 让tableview只根据给定的数据显示行和列 你必须设置Stretch作为 resizeMode 到verticalheader impor
  • UIImagePickerController:自定义相机覆盖位于默认控件之上?

    我正在使用创建自定义相机用户界面UIImagePickerController cameraOverlayView财产 不过 我想保留一些现有的 UI 特别是顶部的闪光灯和相机选择按钮 我的想法是我会保留showsCameraControl
  • 了解 SVR scikit-learn 中收敛所需的迭代次数

    我正在尝试优化 SVR 模型 但由于过度拟合而面临问题 为了克服这个问题 我尝试减少迭代次数 而不是等到收敛为止 为了比较这两个模型 我需要两种情况的迭代次数 如何知道在开放的情况下 max iter 1 收敛所需的迭代次数 这是我的代码
  • Django forms.FileField 验证

    我在表单中使用文件字段和文本字段 class SolutionForm forms Form text forms CharField widget forms Textarea required False file forms File
  • 无法使用 ruby​​ on Rails 和回形针 gem 上传 zip 文件

    我正在开发 Rails Web 应用程序 刚刚创建并准备了一些模型和东西 该应用程序非常简单 但现在我在设置宝石回形针以向模型添加附件时遇到了问题 几乎一切都工作正常 例如附加图像 jpg 甚至 pdf 但我无法上传 zip 文件 我尝试了
  • 是否还需要双缓冲

    由于今天的卡似乎保留了渲染命令列表 并且仅在调用时刷新glFlush or glFinish 真的还需要双缓冲吗 我正在 Linux ATI Mobility radeon 卡 上使用 SDL OpenGL 开发的 OpenGL 游戏实际上
  • 在 apache poi(对于 .xlsx 文件)中创建单元格注释并禁用显示注释

    我正在尝试使用 apache poi 创建单元格注释 我可以创建注释 但默认情况下它们始终显示在 Excel 中 我必须手动右键单击单元格并取消勾选显示注释以使它们不可见 现在它们仅当我将鼠标悬停在单元格上时才出现 是否可以使单元格注释默认
  • 在 Java 中使用 Jackson 反序列化异常/可抛出的问题

    我在反序列化时遇到问题Exception and Throwable使用 Jackson 版本 2 2 1 的实例 考虑以下片段 public static void main String args throws IOException
  • 如何获取 Gmail 未读邮件数

    我使用以下代码来获取 Gmail 中的未读电子邮件计数 但是 它返回错误 can t connect Too many login failures 我在这里缺少什么吗 我正在测试的 Gmail 帐户中启用了 IMAP 和 POP NOTE
  • 选中/取消选中 datagridview 上的复选框

    有人可以帮助我为什么它不起作用吗 我有一个checkbox如果我点击它 这应该取消选中 datagridview 内的所有复选框 这些复选框在包含用户选择的复选框之前已选中 这是代码 private void chkItems Checke
  • C++ 编译器可以优化同一指针上的重复虚函数调用吗? [复制]

    这个问题在这里已经有答案了 假设我有以下代码 void f PolymorphicType p for int i 0 i lt 1000 i p gt virtualMethod something 编译器生成的代码会取消引用吗p s v
  • Imap 搜索条件 - imaplib (python)

    我正在使用 python 的 imaplib 并且遇到了一个奇怪的行为 我真的不知道这是否是 imap 或 imaplib 问题 功能 所以我希望有人能给我一些启发 在我的项目期间 我对我的 Gmail 邮箱进行了多次搜索 想象一下我使用以
  • symfony 单元测试:添加/修改表单操作

    我有一个没有操作的表单 用 javascript 提交 我试图为其编写一个单元测试 但它失败了 因为缺少 action 属性 InvalidArgumentException 当前 URI 必须是绝对 URL 有没有办法在单元测试中添加它或