小编odi*_*ity的帖子

在PhantomJS上禁用LocalStorage进行清洁测试?

几天前刚刚开始与CasperJS合作.

我今天创建了一个脚本来测试LocalStorage的行为方式以及是否可以禁用它,因为这是为了防止测试相互影响.

背景

我正在开发一个在第一页上要求输入值的Backbone向导.单击"继续"按钮时,它会将值保存到LocalStorage,然后在第二页上显示.

casperjs test <script.js>有和无用--local-storage-quota=0.

第一次尝试

写了一个执行以下操作的CasperJS脚本:

  1. 加载页面
  2. 检查模型的内容(空,应该是)
  3. 单击继续
  4. 加载后检查模型的内容(包含值,应该如此)
  5. 使用casper.thenOpen()直接打开第2页作为新页面
  6. 加载后检查模型的内容

如果启用了LocalStorage,则步骤6应与步骤4具有相同的结果(模型中存在值).

如果禁用了LocalStorage,则步骤6应与步骤2具有相同的结果(模型为空).

每次运行脚本时,我都确定已启用LocalStorage.'--local-storage-quota = 0'参数没有任何区别.

第二次尝试

此时,我决定确定LocalStorage是否附加到特定的Casper实例.如果是这样,那么我可以通过为每个测试创建一个新的Casper实例来解决这个问题,从而从一个干净的平板开始.

var Casper = require( 'casper' );

casper = Casper.create();
casper.test.begin( 'test for Local Storage, part 1', 0, function suite (test) { ... });

casper = Casper.create();
casper.test.begin( 'test for Local Storage, part 2', 0, function suite (test) { ... });
Run Code Online (Sandbox Code Playgroud)

但是,第二个测试套件永远不会运行.我不知道Casper是不打算在同一个脚本中创建多个实例,或者我是否只是错误地组织它.

附录

我应该补充说,所有测试套件都以以下步骤结束,以防相关:

casper.run( function () {
    test.done();
    casper.exit();
});
Run Code Online (Sandbox Code Playgroud)

文档仅指定test.done()是必需的.但是,我的测试脚本将永远挂起,直到我将调用添加到casper.exit().

javascript testing local-storage phantomjs casperjs

5
推荐指数
1
解决办法
3019
查看次数

如何使用只读副本?

我已阅读Google Cloud SQL网站上的所有文档,现在了解如何创建和管理只读副本,但我还没有看到任何有关如何使用它们的信息,

  • Google 是否会自动对所有实例之间的连接进行负载平衡?
  • 我是否必须手动连接到特定的只读副本以避免访问主副本?如果是这样,我是否必须自己管理副本故障时的重新连接?

google-cloud-sql

5
推荐指数
1
解决办法
7691
查看次数

Rails - 嵌入式多态注释列表+添加注释表单 - 示例?

大家好.在我的第一个Rails应用程序上工作.

我四处搜索 - 阅读了一堆教程,文章和论坛帖子,观看了一些截屏视频,我发现了一些接近我正在尝试做的例子(特别是http:// railscasts. com/episodes/154-polymorphic-association和ep 196关于嵌套模型表格),但不完全一样.

我有两个需要注释的模型(Podcast和BlogPost),我有一个与两者都多态相关的Comment模型.上面的railscast有一个非常相似的例子(ep 154),但是Ryan使用了一整套嵌套路线,所以有特定的模板用于添加和编辑注释.我想要做的是在Podcast或BlogPost页面上显示评论列表,并在底部显示添加评论表单.我不需要单独的添加模板/路由,我不需要编辑,只需要删除.

这是一个非常常见的网络设计,但我找不到专门针对这种模式的Rails示例.这是我目前的理解:

当然,我需要创建和删除操作的路由,但没有与之关联的模板.我也猜测正确的方法是创建一个可以包含在Podcast和BlogPost节目模板底部的部分内容.部分的逻辑名称在我看来像_comments.html.haml.我知道将对象传递给部分的常见约定是在模板之后命名,但调用对象'comments'似乎与我的用例不匹配,因为我真正需要传递的是可注释对象(Podcast或BlogPost) ).所以,我想我会使用locals选项进行渲染部分调用?(:commentable => @podcast).

在部分内部,我可以调用commentable.comments来获取评论集合,使用第二部分(这次使用传统用例,调用部分_comment.html.haml)渲染,然后创建一个提交的表单. . 什么?REST方面,它应该是一个POST集合,这将是/ podcast | blogpost /:id/comments,我认为它的助手是podcast_comments_path(podcast),如果它是一个播客 - 不知道该怎么办因为我正在使用多态注释.这将触发Comment.create操作,然后需要将其重定向回podcast | blogpost path/podcast | blogpost /:id.

这一切都有点压倒性,这就是为什么我真的希望找到专门实现这种设计的截屏视频或示例.

forms polymorphism model-view-controller comments ruby-on-rails

4
推荐指数
1
解决办法
3099
查看次数

大厨独唱 - 如何工作,有什么意义?

我理解chef-client --daemonize的目的,因为它是Chef Server可以连接并与之交互的服务.

但是,chef-solo是一个命令,只是简单地使当前系统符合规范,然后完成.

那么主厨 - 独唱 - 重要的是什么呢?具体是什么呢?例如,当系统与规范不符时,它会自动检测吗?它是通过轮询或利用文件系统事件来实现的吗?如果您更新它已经运行的菜谱和节点文件,它的行为如何?

chef-solo

3
推荐指数
1
解决办法
351
查看次数

如何在 Firebase 开发期间创建测试用户?

我最近开始构建我的第一个 Firebase 应用程序,但我不确定如何创建测试用户。

对于非用户测试数据,我可以testdata.json在我的代码库中保留一个文件并通过 Firebase 控制台导入它,但对于用户来说似乎没有等效的机制。

我知道最新版本的 firebase-tools(v3.2.0,4 天前发布)添加了一个auth:import命令,但是当我查看docs 时,我看到它期望预生成密码哈希,这不是什么我知道如何或想要手动进行。

如果有一个等效的auth:export命令生成了一个适合提供给 的文件auth:import,那么我可以使用 Firebase 控制台手动创建一些用户,将他们导出到一个文件,然后将其签入我的代码库(就像testdata.json),但是没有这样的命令。

即便如此,Firebase 控制台不允许您为用户设置基本配置文件属性(如displayName)这一事实仍然是另一个障碍......

firebase firebase-authentication

3
推荐指数
1
解决办法
4433
查看次数

在Ember.js #each中生成循环计数器

我发现Ember.js中车把模板的限制绝对是瘫痪的.你不能执行任意的JavaScript.你得到的只是一组固定的能力(if/else,each,action,view,outlet)以及在当前上下文对象上输出属性值的能力.

这意味着我无法弄清楚如何使用循环计数器这样简单的事情,例如,根据它在我正在迭代的集合中的位置,在循环内的html元素上拍打位置ID.

将它作为模型的计算属性添加是没有意义的,因为这不是模型级知识(同一模型可以在不同视图中的两个不同位置).

仅供参考 - 在PostgreSQL上使用Ember-1.0-pre,Ember-Data和Rails以及ActiveModel :: Serializers.

handlebars.js ember.js

2
推荐指数
1
解决办法
8496
查看次数