加速测试 test:recent on drb server
rspec可以加上参数--drb,加快测试速度。如果不用rspec,标准方法写测试,每次执行rake,加载环境会损耗相当多的时间。每次测试都要对着屏幕发呆18秒,这是在是太蠢了…… 跟踪发现最主要耗时操作是调用了两次 Rails::Initializer.run(:process, ...) (似乎第一次是加载RAILS环境,第二次是加载测试库)
我简单的写了2个RAKE任务,用DRB来解决这个问题。
app/lib/tasks/test_server.rake
require 'drb/drb'
class TestServer
def run(stdout, stderr)
$stdout = stdout
$stderr = stderr
# puts ">>>> rake test:recent"
# time_begin = Time.now
# test:recent on DRb server
Rake::Task["test:recent"].invoke
# time_elapse = Time.now - time_begin
# puts " << cost #{time_elapse}s"
end
end
# rake test:server
# rake test:remote
namespace :test do
desc 'Run test server on DRb'
task :server => :environment do
DRb.start_service("druby://localhost:8999", TestServer.new)
puts "ready"
DRb.thread.join
end
desc 'Run recent tests on remote server.'
task :remote do
DRb.start_service
remote = DRbObject.new_with_uri("druby://localhost:8999")
remote.run($stdout, $stderr)
end
end
先启动服务
rake test:server
然后用下面的命令,实现 rake test:recent 的快速版
rake test:remote
思路很简单,加载环境的动作,都丢在DRb server
第一次 rake test:remote 还是要加载库环境,但以后再访问就不用了
在DRB只实现了 rake test:recent 这个频率最高的动作,如果需要,可以自己去扩展
期待更好的建议
分享到:
- 2009-05-31 22:33
- 浏览 686
- 评论(0)
- 论坛回复 / 浏览 (0 / 1646)
- 查看更多
相关推荐
很好地支持了多节点测试,因为该框架主要基于使用DRb(分布式Ruby)的RPC调用。 在Vespa安装中的节点之一的上下文中执行用于提供数据,检查联机索引或进行查询等的方法。 每个节点都必须运行一个名为node_server.rb...
这里简单介绍BIST故障测试,增加了详细的可靠性测试并得到了实验数据,包括DRB(数据保持),耐久性(擦/写循环),HTOL(高温操作寿命),LTOL(低温操作寿命)。基于存储器可靠性测试的目的,采用了BIST测试的方法...
在Ruby on Rails开发中,测试是确保代码质量与应用程序稳定性的重要环节。Rails提供了多种测试工具,Autotest和Spork就是其中两个常见的辅助测试工具。本文将详细介绍如何在Rails环境中安装和配置这两个工具。 首先...
- 由于无法使用常规的DRB系统进行记录,因此需要开发一款适用于当前阶段的DRB系统初版,以便能够快速上线并实现统计和记录功能。 ### 二、DRB系统的开发思路与挑战 **开发思路**: - 参考SMIC DRB系统及SEDA系统...
Report DRB
根据提供的文档内容,我们可以推断出DRB System 1130主要涉及的是一个用于半导体制造过程中的缺陷管理和处理流程的系统。以下是对该系统的关键知识点进行详细解析: ### DRB系统简介 DRB(Defect Review Board)...
7. **测试**:如果源码库是高质量的,通常会包含单元测试和集成测试代码,使用诸如JUnit、pytest或unittest等测试框架。 8. **文档**:源码库可能包含README文件或其他形式的文档,解释库的用途、如何安装和使用,...
资源分类:Python库 所属语言:Python 资源全名:drb_impl_xml-1.0a1-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
- **Server端**:在Server端,DRb使用`DRb::DRbServer`实例来处理远程方法调用请求。这个实例负责接收来自客户端的消息,并将它们分发到相应的对象方法。 - **Client端**:客户端则负责向服务器发送请求并接收响应。...
资源来自pypi官网。 资源全名:drb_impl_http-1.0.0a0-py3-none-any.whl
6. **DRB(Dispute Resolution Board)决策**:在收到DRB建议后的14天内,如果双方都没有要求仲裁,该建议将具有约束力(选项B)。 7. **工程计量方法**:均摊法是按合同工期平均计量的一种方法(选项A),适用于...
汉族人群中HLA-DRB1共同表位相关的DR-DQ单倍型与CCP阳性及CCP阴性类风湿关节炎相关性研究,刘栩,郭建萍,目的 研究在中国汉族人群中,人类白细胞抗原HLA-DRB1,DQA1,DQB1单倍型与类风湿关节炎易感性及其特异性抗体...
- **DRB-ToAddMod**:此字段指示了哪些DRB需要添加或修改,并且可以包含有关SDAP层映射规则的信息。 - **SDAP-Config**:直接与SDAP层配置相关联,提供了关于QoS流映射规则的关键细节。 #### 三、PDU Session ...
2. **流程2**:在相同的状态下,如果多个DRB配置了上行(UL)SDAP头部,UE需要构建包含头部的SDAP PDU,并依据预先存储的QoS流到DRB的映射规则将它们映射到相应的DRB。 3. **流程3**:当UE收到一个带有RDI(重传...
16. **DRB Establishment**:gNodeB根据QoS Flow属性和MML策略将它们映射到DRB,通过RRCReconfiguration消息发起DRB建立请求。 17. **RRCReconfigurationComplete (DRB)**:UE建立DRB后,向gNodeB发送...
PDCP->profile0x0001:drb5qi='1' PDCP->profile0x0001:drb5qi='2'" 入网阶段即部署 编码速率自适应 是 否 编码速率自适应, 基站侧支持,目前没有终端支持该功能,所以参数评审的时候把这个功能去掉了 RLC分段...