茉莉花位置重新加载

2023-12-03

我真的不知道如何进行测试? (暗中监视?)

function reloadPage() {
  $('#logo').click(function() {
    location.reload();
  })
}

任何建议都会很棒!


您可能不确定如何测试这段代码的原因是因为它正在做两件不同的事情,您应该将其分成更小的块。

我在这里看到两个不同的功能:

  • 点击事件处理
  • 重新加载页面

那么为什么不像这样打破逻辑呢?

function reloadPage() {
    location.reload();
}

function bindEvents() {
    $('#logo').click(reloadPage);
}

现在您可以使用 Spies 单独测试它们:

describe('when the logo is clicked', function() {
   var logo;
   var handlers;
   beforeEach(function() {
       handlers = {
           locationReload: location.reload, // handle for location.reload()
           reloadPage: reloadPage      // handle for your reloadPage()
       };

       logo = $('#logo').click(reloadPage);

       // attach Spy on reloadPage() and let the function call through
       spyOn(handlers, 'reloadPage').and.callThrough();

       // attach Spy on location.reload() 
       spyOn(handlers, 'locationReload');

   });

   it('will execute reloadPage function', function() {
        logo.trigger('click');
        expect(handlers.reloadPage).toHaveBeenCalled();
   });

   it('will reload the page', function() {
        logo.trigger('click');
        expect(handlers.locationReload).toHaveBeenCalled();
   });

   afterEach(function() {
       // clean up event bindings after each test
       logo.off('click');
   });

});

没有太多需要测试reloadPage处理程序已正确添加到#logo的点击事件,因为测试正在模拟.click()并检查是否reloadPage是否被呼叫。

所以很可能你只需要拥有it('will reload the page')规格,而不是两者。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

茉莉花位置重新加载 的相关文章

  • 在 JavaScript 中将函数映射到生成器上

    我有一个名为generateNumbers在 JavaScript 和另一个生成器中generateLargerNumbers它采用由生成的每个值generateNumbers并应用一个函数addOne对其而言 如下 function ad
  • 为什么“true && () => {}”会产生“Uncaught SyntaxError:格式错误的箭头函数参数列表”? [复制]

    这个问题在这里已经有答案了 下面的代码 执行时 true gt yields Uncaught SyntaxError Malformed arrow function parameter list Why 编辑 我知道将函数包装在括号中是
  • 从邮件程序访问助手?

    我试图从 Rails 3 邮件程序访问帮助程序方法 以便访问会话的当前用户 我将 helper application 放在我的邮件程序类中 这似乎可以工作 但其中定义的方法对我的邮件程序不可用 我收到未定义的错误 有谁知道这应该如何运作
  • 获取语​​音通道的用户数

    我正在重写我的音乐部分朋友不和谐机器人 https top gg bot 629799045954797609 我试图弄清楚如何获取执行命令的人的语音通道中的用户数量 我到处都找过 但似乎找不到它或它的用法 现在我正在使用以下内容 modu
  • 粘性页脚不粘在 AngularJS 中

    Im working an angular site and im trying to implement a sticky footer across all views but the footer stops sticking whe
  • 如何使用 Javascript 将 HTML 表单数据输出到 XML 文件?

    我目前正在尝试弄清楚如何将 HTML 表单数据输出到 XML 文件 这是我过去几天一直在研究的一个想法 目的是创建一个用于 Windows 7 安装的 autounattended xml 文件 目前我的 HTML 如下
  • d3 树 - 有相同孩子的父母

    我一直在将代码从 JIT 转换为 D3 并使用树布局 我已经复制了代码http mbostock github com d3 talk 20111018 tree html http mbostock github com d3 talk
  • 在生产中使用 css / javascript 源映射对性能有何影响?

    生产环境中应该使用源映射吗 除了调试之外 它们还有什么好处吗 由于额外的服务器往返 它们是否会影响应用程序加载时间 浏览器是否足够智能来加载 map应用程序加载和渲染后的资产 如果浏览器找不到 map asset 404错误 会对性能产生影
  • JavaScript 中的 ParseFloat 函数

    当我添加两个文本框值时1 001 and 0 001然后我做了一个parseFloat I get 1 0019999999 我要它1 002 你能帮助我吗 JavaScriptNumber http www w3schools com j
  • 匹配CSS的正则表达式“<属性>:<值>”

    我从以下位置检索了 CSS 规则document styleSheets现在我正在寻找提取它的属性和值 cssText expl position absolute background color rgb 204 204 204 max
  • 如何在 jQgrid 中隐藏列但在添加/编辑面板中显示此列

    我想要一种我使用的控制形式 但字段数量太高了 如何显示网格 但只有表单添加 编辑弹出面板中的某些字段显示所有字段 以下是您可以执行此操作的方法 colModel name email label E mail editable true h
  • 在 forEach() 中使用 `this` [重复]

    这个问题在这里已经有答案了 免责声明 我正在学习 JavaScript 我有一个像这样的对象构造函数 var Palette function this colors red green blue this getColorCombinat
  • 将 JSON 字符串传递给 Django 模板

    我一直在用头撞墙 试图找出为什么我无法将从 Django 模型生成的 JSON 字符串传递到模板的 javascript 静态文件中 事实证明 问题不在模型级别 使用serializers serialize 在脚本本身中放入相同的字符串将
  • jQuery 删除函数真的删除 Dom 元素吗?

    我真的想知道 jQuery 是否remove http api jquery com remove 函数确实从 DOM 中删除元素 首先 我看了here https stackoverflow com questions 2185760 j
  • 如何使 Meteor 上的服务器可以访问文本文件

    我很惊讶我无法在这里搜索我的答案 似乎没有其他人遇到这个问题 当您运行meteor服务时 js html等被打包在 meteor local build文件夹中 但它似乎排除了不是js或html的内容 我有一个名为 magicsets 的文
  • 在 gulp 和 browsersync 问题中观看新文件

    我使用 browsersync 在文件更改时重新加载浏览器 而且它工作完美 但是当我创建新文件 例如 html scss js 时 bowsersync 不起作用 如何解决这个问题 gulpjs Browser Sync gulp task
  • 如何创建浏览器插件?

    我必须创建一个插件 当用户将鼠标悬停在某些术语上时 该插件必须显示信息 谁能告诉我如何做的方向 我对创建插件没有太多想法 我知道我想要做的事情可以通过java脚本来完成 但是java脚本文件可以作为浏览器插件安装吗 任何对此的想法将不胜感激
  • 在 Jasmine 测试中配置 Angular 服务提供者

    我的服务有someModule module someModule provider someService function this options this get function return options 我正在编写规范 到目
  • TypeScript 中 C# 类虚拟成员的等效项

    因此 在 C 中 当我创建模型类和延迟加载内容时 我会执行以下操作 public int User ID get set public int Dept ID get set 然后在我的班级稍远一点的地方 我像这样弹出我的虚拟 public
  • 获取css规则、chrome扩展

    我正在开发 Chrome 扩展程序 它需要访问document styleSheets cssRules 它在某些网站上运行良好 例如w3school 但其他人则不然 比如堆栈溢出 我收到错误 Failed to read the cssR

随机推荐

  • 在 Ruby 中发出超时的 HTTP HEAD 请求

    在 Rails 应用程序中 我想对资源 用户提供的 URL 发出 HTTP HEAD 请求 以确保它存在 我还想要一个超时 以确保该方法在花费合理的等待时间后失败 实现此目的最直接的方法是什么 如果可能 使用标准库 试试这个片段 requi
  • 使用 A* 的启发式方法来查找增益最高的路径

    假设我想改变 A 中的逻辑 试图找到最有用的路径 即增益最高的路径 而不是找到最短路径 即成本最低的路径 就我而言 目标并不固定为唯一的结束节点 节点定义为具有距离的任何节点B从起点开始 在普通版本 找到最短路径 中 我需要不要高估成本 即
  • PowerShell FTPS 上传失败并显示“系统错误”。

    问题 客户要求我们将从系统中提取的数据上传到他们的 box com 平台 而不是我们普通的 SFTP 实用程序 我有 box com 凭据 并且知道他们需要 FTPS 而不是 SFTP 并且需要被动模式 我抄袭了一个片段ThomasMaur
  • Groovy 中的测试类在 Kotlin 中看不到测试类

    我有一个带有 Kotlin 插件的 gradle 项目 在我的项目中 我使用 groovy 和 Spock 进行测试 用 Kotlin 编写的测试中使用的实用程序类之一 我将其放入 src test kotlin 我试图使用 groovy
  • 对 solr 输入字段进行哈希处理

    我想方便地搜索我们无法以非散列或加密形式索引或存储的字段 有没有办法告诉 solr 在与索引进行比较之前对特定字段进行哈希 或加密 简而言之 我认为这并不容易 这取决于您需要什么级别的安全性 作为一种通用 简单的解决方案 您可以将整个索引存
  • 在 ASP.NET MVC RC1 中对强类型视图使用“添加视图”对话框时出现问题

    我喜欢随 RC1 发布的新 添加视图 对话框 如果您指定视图数据类 它会为您生成一个支架视图 它似乎与我的解决方案中的项目中定义的类配合得很好 我的一些域类继承自外部程序集中定义的基类 并在我的 Web 项目中引用 当我指定这些域类之一时
  • 使用 MS 批处理文件将程序的输出分配给变量

    我需要使用 MS 批处理文件将程序的输出分配给变量 所以在 GNU Bash shell 中我会使用VAR application arg0 arg1 我需要在 Windows 中使用批处理文件实现类似的行为 就像是set VAR appl
  • 使页眉和页脚文件包含在多个 html 页面中

    我想创建包含在多个 html 页面上的通用页眉和页脚页面 我想使用 JavaScript 有没有办法只使用 html 和 JavaScript 来做到这一点 我想在另一个 html 页面中加载页眉和页脚页面 你可以通过以下方式完成此操作jq
  • 使用按钮打开包含库存商品详细信息的页面

    我的目的是在索引页面上显示带有链接的产品 单击链接时 将打开一个 模态 页面 显示该产品的详细信息 我有一个链接到产品页面的按钮 但没有链接到索引页面上的其他项目 如何使用此链接打开每个产品页面 按钮的代码
  • Datetime - 确定 R 中多个(n)日期时间范围是否相互重叠

    嗨 朋友们 我在查找多个日期时间范围是否相互重叠以及如果是的话 则查找它们重叠的时间段时遇到问题 我参考了以下链接确定两个日期范围是否重叠 and 检测重叠周期的算法还有更多 不知道这是否正确 我有 n 3 的示例解释 假设我有 n 个开关
  • 如何在TabActivity的单个选项卡下管理多个Activity

    问题就在这里 在我的应用程序中 我有 5 个包含活动的选项卡 在每个场景中 我都必须显示不同的屏幕 例如 选项卡的主要活动是列表视图 当我单击其中一个项目时 我想显示带有另一个列表视图的第二个屏幕 当用户选择一个项目等时 该屏幕将显示另一个
  • 找不到 -lFolly 的库

    将react native从版本0 63 2更新到0 66 1后 当我尝试构建我的应用程序时 我在Xcode中收到以下错误 找不到 lFolly 的库 我尝试过跑步pod install并清理构建文件夹 我的图书馆搜索路径看起来像this用
  • SetPixel 之后的 GetPixel 给出不正确的结果

    我从一张 jpg 中设置像素 另存为 jpg 文件 再次读取新文件 获取像素 但它给了我不正确的结果 这是我的代码 use Image Magick use Data Dumper my im new Image Magick im gt
  • 当我有来自 Code::Blocks 中同一组源文件的两个 .cpp 文件时,如何运行其中一个?

    我有两个不同的 cpp一个项目的同一组源下的文件 链表 我尝试运行一个名为 customer 的链接列表文件 但它只运行另一个名为 video 的文件 如何运行 客户 链表文件 My customer cpp文件处于活动状态 但仍在运行 视
  • Java 线程到 Linux 线程 (LWP) 的一对一映射

    Java之间是否存在一对一的映射关系Thread对象和操作系统线程 轻量级进程 也就是说 如果我有一个Thread对象 我是否可以始终准确地识别一个关联的操作系统线程 并且我将始终拥有相同的关联操作系统线程吗 一般来说 这取决于操作系统和
  • Elasticsearch 无法在 AWS kubernetes 集群上启动

    我正在运行 kubernetes 1 10 的 AWS EKS 上运行我的 kubernetes 集群 我正在按照本指南在我的集群中部署elasticsearch弹性搜索 Kubernetes 我第一次部署它时一切正常 现在 当我重新部署时
  • 我怎样才能“显式地”快速实现一个协议?如果不可能,为什么?

    在C 中 有这个伟大的语言功能称为 显式接口实现 它允许您实现两个或多个接口方法名称冲突的接口 它还可以使方法在使用封闭类型的对象调用它时执行一件事 并在将其转换为接口类型然后调用该方法时执行另一件事 我想知道 Swift 中是否有这样的东
  • 代理的 TFS 构建持续时间报告

    我正在尝试构建一份报告来显示各种构建代理的相对效率 但无法从该工具中获取我需要的信息 我想要的是一个包含以下列的简单网格 内部版本号 构建定义 构建代理 构建状态 构建开始时间 构建持续时间 这可以让我做一些类似的事情 比如根据agent2
  • 如何在 Unity3D 中进行触摸操作?

    我正在使用 Unity3D 制作一个 Android 应用程序 它已经可以使用点击检测 但不能使用触摸 但我需要触摸才能进行多点触控检测 我想要什么 我有我的播放器和 2 个箭头图像 一个箭头指向右侧 一个箭头指向左侧 当我触摸左箭头时 玩
  • 茉莉花位置重新加载

    我真的不知道如何进行测试 暗中监视 function reloadPage logo click function location reload 任何建议都会很棒 您可能不确定如何测试这段代码的原因是因为它正在做两件不同的事情 您应该将其