我的测试可以在没有Meteor运行的情况下存在吗?
我刚刚开始了我的第一个Meteor项目,并开始使用Mocha和should.js编写单元测试.虽然mocha运行没有问题,但测试阻止Meteor启动,因为它使用节点require 而不是__meteor_bootstrap__.require(完整错误消息)有问题.
话虽这么说,Meteor不应该运行我的测试!根据Meteor文档,代码只能放在客户端,服务器或两者上.单元测试套件不属于这些类别,并且我不是唯一被Meteor缺乏定位自动化测试位置的人所困惑的人.
现在,我的测试保存在server/test/,每个文件的内容都包含在块中:
if (typeof(Meteor) === 'undefined') { ... }
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但感觉并不优雅.您对使用Meteor应用程序构建测试有任何其他建议吗?
更新:代替Meteor文档中的显式指令,我遵循Rails文件夹约定(第4段),使用一个名为test存储我的测试资产的文件夹.后来server/test我把它移到了,因为我不希望它加载到客户端上.
我在页面上有一个"新项目"徽章,我想立即更新页面从缓存中加载(即,当点击"返回"或"转发"返回此页面时).完成此任务的最佳方法是什么?
设置非常简单.应用程序的布局每8秒查找一个新项目,并相应地更新徽章+项目列表.
$(function() {
setInterval( App.pollForNewItems, 8000 );
});
Run Code Online (Sandbox Code Playgroud)
当有人导航离开此页面以查看项目的详细信息时,可能会发生很多事情.在任何用户查看之前,事情都是"新的" ,并且应用程序可能会有多个用户同时使用它(用于呼叫中心或支持服务单的工作流程类型).
为了确保徽章始终是最新的,我有:
$(window).bind('focus load', function ( event ) {
App.pollForNewItems();
});
Run Code Online (Sandbox Code Playgroud)
..虽然这有效,但只有在从缓存加载页面时,轮询"加载"上的新项目才有用.是否有可靠的跨浏览器方式来判断是否正在从缓存加载页面?
javascript jquery javascript-events browser-cache browser-history
当Webkit(Safari,Chrome)遇到内联块时...
line-height指定高度... inline-block元素忽略指定的vertical-align.
为了帮助说明问题,我有一个小测试用例:http: //arther.net/lab/webkit-vertical-align-test.html#test
Firefox 3.6,Opera 10.53和IE7 +将这些内联块视为内联元素,垂直对齐按预期工作.Webkit浏览器(和Opera 10.10)在这种情况下将内联块视为块级元素,因此忽略vertical-align.那么,谁是对的,谁是错误的?
我可以看到这种情况.一方面,您可以说所有内联元素 - 甚至是内联块 - 都应该在包含的行框中正确定位vertical-align.另一方面,内联元素通常定义一个内联框,并且没有自己的行框.包装多个线框的任何东西都应该是块级元素.在这种情况下,内联块应该被视为一个块,因此会忽略vertical-align.
鉴于当前的行为,我认为以下之一是真的:
如果有人能就这个问题提供一些澄清以及预期的行为应该是什么,我将不胜感激.
我正在寻找类似于Thor的命令解析库,但对于PHP.
更具体地说,我想要一些可以......
git remote add <url>my-command --some-option='value'创建一个键值对array( 'some-option' => 'value' )到目前为止,我所看到的解决方案都没有令人满意.
最接近标记的是PEAR的Console_Getargs,尽管没有维护.
该pear命令使用Console_Getopt,但它们执行大量手动处理以实现前三个要求中的功能.
PHP getopt()无法处理子命令,似乎没有任何其他内置方法可以使用这个功能.
是否有符合我可能错过的标准的PHP库?
我目前正在使用NodeJS开发RESTful Web服务并进行解析.
我已经为数据库启动并运行了node-mysql,但我也希望实现HTTP Basic身份验证.
我只用Apache和一个.htaccess文件做了一次.
但是在这里,网络服务器带来了解决方案,我这样开始:
var server = restify.createServer({
name: 'my webservice'
});
Run Code Online (Sandbox Code Playgroud)
在restify文档(http://mcavage.me/node-restify/#Bundled-Plugins)中列出了一个Authentication Parser插件,但我无法弄清楚如何使用它.
req.username即使我使用,该值也始终设置为匿名http://user:pass@url....
最好的办法是,如果我可以将它与.htpasswd文件一起使用来存储/访问用户并通过.
有谁知道如何用restify或其他模块实现这个?
javascript ×2
command-line ×1
css ×1
jquery ×1
meteor ×1
mocha.js ×1
node.js ×1
parsing ×1
php ×1
restify ×1
should.js ×1
unit-testing ×1
webkit ×1