Rails应用程序的全栈测试有很多选择.有些使用真正的浏览器,有些是无头的,有些根本不运行javascript.
您使用或推荐哪些工具?为什么?
浏览器模拟器或自动机列表:
测试DSL和框架的列表:
我正在寻找一种可靠的方式来部署Rack应用程序(在本例中是一个Sinatra应用程序).请求将花费一点时间(0.25-0.5秒等待代理的HTTP请求)并且可能有相当数量的流量.
我应该使用传统的杂种群集设置吗?使用HAProxy作为负载均衡器?nginx的?架起来?
您使用了哪些解决方案?有哪些优势?
验证一堆PHP文件的语法是SLOW
我们php -l file.php
用来验证许多php文件的语法,作为持续集成设置的一部分.我们实际上做了类似的事情:`find.-name"*.php"| xargs --max-args = 1 php -l"因为php可执行文件只接受一个参数.
这是非常缓慢的,主要是因为它涉及为每个PHP文件启动一个全新的解析器/解释器(更不用说进程),以验证它的语法,我们有成千上万.
有更快的方法吗?
我有一个应用程序需要相当多的数据(1000条记录)来进行适当的测试.我发现获得一组可测试的,合理的数据的唯一方法是使用我的生产数据库的一个子集.我已将其转换为正常`test/fixtures'位置的YAML灯具.
这有效,但现在我有一堆看似脆弱的测试和断言,这取决于它们是满足条件X的特定数量的记录...
例
def test_children_association
p = Parent.find(1)
assert_equal 18, p.children.count, "Parent.children isn't providing the right records"
end
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎不是一个好主意,但我不确定是否有更好/可接受的方法来测试需要大量数据层次结构的应用程序.
我正在寻找一个javascript库,试图在浏览器环境和nodejs(迭代,映射,可能是控制流)中提供相同的简单实用程序,以便可以更容易地跨服务器和客户端重用代码.我知道你可以破解任何JS库(YUI,jQuery,...)的部分并让它们在两个环境中工作,我只是想知道它是否已经完成或标准化.
我见过的最接近的是:https://github.com/kof/sharedjs
但它不完整,有一些奇怪的东西.我想知道在我分叉和黑客之前是否有更多的东西.
我正在寻找一个颠覆的Web客户端 ala SVN :: Web但是我一直认为它非常有用.
我想要的是能够找到哪个版本负责文本文件中的某一行(或多行).通过网络实现这一目标的方法非常棒.
有人知道这样的工具吗?
我一直在尝试安装Shoulda
script/plugin install git://github.com/thoughtbot/shoulda.git
Run Code Online (Sandbox Code Playgroud)
但我得到的是:
removing: C:/Documents and Settings/Danny/My Documents/Projects/Ruby On Rails/_ProjectName_/vendor/plugins/shoulda/.git
>
Run Code Online (Sandbox Code Playgroud)
而vender/plugins
目录是空的.我将Rails 2.1.1安装为gem并验证了2.1.1已加载(使用put插入config/boot.rb).关于发生了什么的任何想法?
(这是在一个窗户框上)
Sinatra/Rack世界中是否存在类似于Rails配置加载方案的任何内容,该方案根据需要加载其中一个config\enviroments\*.rb
文件Rails.env
我知道我可以很容易地开发一个,我只是想知道是否已经存在某些东西.
我碰巧在ruby中使用Singleton类,只记得它在factory_girl中的工作方式.他们解决了这个问题,因此您可以使用 我想到的漫长的方式 Factory.create(...)
和简短的方式 Factory(...)
,并且好奇地看到它们如何使类Factory
也表现得像一个方法.
他们只是这样使用了Factory
两次:
def Factory (args)
...
end
class Factory
...
end
Run Code Online (Sandbox Code Playgroud)
我的问题是: ruby如何实现这一目标?使用这种看似古怪的模式有危险吗?
我有一个Git存储库(最初是CVS,然后是SVN,现在是Git),包含一个已在Linux上部署了一段时间的Rails项目.一切似乎都运行良好.
现在我已经转换为git,我发现存储库CRLF
中的许多文件都包含行结尾.我喜欢它,所有人都是一致的(LF
),但不是以丢失每个有CRLF
行结尾的文件的编辑历史为代价.
你能想到我不能保留文件的原因吗? 我似乎记得shell脚本或cron文件存在问题或者没有很好的响应CRLF
.
另外,我知道所有关于Git的选项core.autocrlf
和core.safecrlf
,但有一些办法把它从转换的所有文本文件CRLF
来LF
结账(用于Linux端) ......即core.autolf选项或类似的东西?