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 单元测试:添加/修改表单操作 的相关文章

  • 通过 Sparkpost 发送 iCal 邀请

    我正在尝试使用 SparkPost 通过电子邮件以附件形式发送日历邀请 但收到电子邮件后邀请不会打开 我使用两个文件 calendarinvite php 来创建邀请 使用 Sendemail php 来发送电子邮件 calendarinv
  • 正则表达式上的换行符

    我试图替换两个标签之间的所有内容 但我无法构建正确的表达式 这就是我所做的
  • 防止 Propel 插入空字符串

    当未设置列时 如何防止 Propel ORM 插入空字符串 CREATE TABLE user uid INTEGER PRIMARY KEY AUTO INCREMENT email VARCHAR 255 NOT NULL UNIQUE
  • 简单的 PHP 回显代码不起作用

    这是我的 html 和 php 脚本 h1 Bob s Auto Parts h1 table width 100 tr tr table 为什么这个输出会出现一个 gt 我希望它是 这有效 仅有的 这是输出 鲍勃的汽车零件 鲍勃
  • php源代码到PO文件生成器

    我必须将我的所有回显 打印字符串转换为PHP源代码代码文件到PO file 为了语言翻译 有批次吗对流器可用于相同的 我如何做到这一点 make gettext在您的服务器上运行 setup a 翻译适配器 例如带有 gettext 适配器
  • 如何检测字符串中的非 ASCII 字符?

    如果我有一个 PHP 字符串 如何以有效的方式确定它是否至少包含一个非 ASCII 字符 我所说的非 ASCII 字符是指不属于该表的任何字符 http www asciitable com http www asciitable com
  • 如何对 SQL 进行多次查询

    我正在尝试创建一个表 并在 PHP 脚本的帮助下在数据库中插入一些值 虽然只插入 1 行 但效果很好 当我尝试输入更多行数时 出现错误 我需要为每个查询编写完整的插入语句 因为我正在使用在线 Excel 到 SQL 查询转换器
  • 如何在 React 中测试表单提交?

    我有以下 React 组件 export default class SignUpForm extends React Component doSignupForm event Some API call render return div
  • PHP 无法加载动态库“php_pdo_oci.dll”

    我在 Windows 8 上运行 Apache 2 4 7 和 PHP 5 5 9 我安装了 PHPUnit 并开始弹出此警告图像 警告 是的 我在 php ini 中启用了扩展加载以及 extension dir 以更正文件夹 并且该文件
  • 如何防止在 PHP 中使用超出“使用”范围的特征方法

    我想知道是否有任何方法可以防止在 PHP 的任何类上下文之外使用特征方法 让我用一个简短的例子来解释我想要什么 这是我当前的代码 File MyFunctions php trait MyFunctions function hello w
  • 使用 PHP PayPal REST API 退款?

    我正在开发一个集成到 PayPal 的 REST API 中的 PHP 应用程序 我正确处理了事务并将事务 ID 保存到 MySQL 数据库中 我现在正在尝试退款 但无法让它停止给出 传入 JSON 请求未映射到 API 请求 错误 有人对
  • 如何在HTML中的PHP中注释掉HTML和PHP?

    这是我想注释掉的一行代码 h1 class post title a href title a h1 一种流行的注释方法是分别注释 html 和 php 有一个更好的方法吗
  • 通过 URL 指定控制器类与为每个控制器编写一个脚本相比,有何优缺点?

    今年夏天我安装了两个不同的 PHP 系统 每个都使用两种不同的方法 方法 1 每个任务一个 PHP 文件 该方法需要一个PHP为每个主要任务创建文件 例如 我的上传脚本可以通过http www domain com upload php O
  • 如何纠正这个非法字符串偏移?

    我收到此错误 警告 第 32 行 home mysite public html wp content themes evento lib php extra class php 中的非法字符串偏移 type 我意识到文件中的这部分代码是错
  • PHP 扩展开发入门 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 请推荐有关 PHP 低 级 modules 编程接口的帮助文章或教程 搜索我的书签 我发现的唯一链接是
  • 如何在 Zend MVC 中实现 SSL

    我之前已经通过使用特定的安全文件夹 例如服务器上的 https 文件夹与 http 文件夹 实现了安全页面 我已经开始使用 Zend Framework 并希望应用程序的某些部分 例如登录 使用 https 我在谷歌上搜索过 甚至在这里搜索
  • 任务并行库周围是否有一个接口包装器,以便我可以将其交换用于单元测试?

    I asked 这个问题 https stackoverflow com questions 3362734 unit testing concurrent software what do you do不久以前 我现在知道这是一个坏主意
  • 如何通过php获取网页的Open Graph协议?

    PHP 有一个简单的命令来获取网页的元标记 get meta tags 但这仅适用于具有名称属性的元标记 然而 开放图谱协议如今变得越来越流行 从网页获取 opg 值的最简单方法是什么 例如 我看到的基本方法是通过 cURL 获取页面并使用
  • 如何从 Laravel 执行存储过程

    我需要在表单提交数据后执行存储过程 我让存储过程按照我想要的方式工作 并且我的表单正常工作 我只是不知道从 laravel 5 执行 sp 的语句 它应该是这样的 执行 my stored procedure 但我似乎在网上找不到类似的东西
  • 用户区域设置在第一次请求时不起作用

    我的网站运行的是 Symfony 主版本 到目前为止 我能够使用本地监听器逻辑 http symfony com doc master cookbook session locale sticky session html来自网站 由于代码

随机推荐

  • 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 有没有办法在单元测试中添加它或