首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用spring提高rails开发效率

###声明 目前spring只支持MRI 1.9.3, MRI 2.0.0, Rails 3.2,没有达到要求的人赶紧升级你们的ruby,rails版本吧 ###问题 想必采用TDD/BDD方式进行开发的...他们的原理都是预先把rails环境启动起来,后面在运行测试,执行rake task时从这个启动好的进程fork一个进程,在这个进程中执行操作。...: spring rspec 当第一次使用spring运行测试,rake taks, db migration时,spring会自动在后台load rails 环境,因此执行速度也很慢,但是当再次执行时...,spring会从先前的进程中fork出load好的rails环境,执行速度就变得飞快!...###已知问题 把 require 'rspec/autorun'从spec_helper中删掉,否则,spec会被执行两次,而且第二次会由于找不到url helper method而失败。

3.5K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Ruby on Rails】Model中关于保存之前的原值和修改状态

    今天在Rails的Model中遇到了一个问题—— 当我从Model类中获取了一个ActiveRecord对象,对其进行了一系列修改(尚未保存),我该如何确定究竟哪些修改了呢?...(设Model为Option,相关的的参数为correct) 我本来采取的方法是——在数据表中新增一个ori_correct参数,每次对象保存之前都和correct做到同步,这样一来,是不是correct...但是这样的缺点也显而易见——如果以后参数个数很多的话,岂不是得每一个都得来一个相应的ori_字段?...这样的话每个都要双份的建立字段,想象也觉得并不合理,总感觉Rails应该对这类问题有一个较好的解决方案。...(关于更多的关于ActiveModel::Dirty所支持的各种神奇功能,请在http://api.rubyonrails.org/中输入ActiveModel::Dirty)

    1.7K90

    推荐三篇不错的文章:我们能从 Rails 框架学到的经验 & 在 Ruby on Rails 中进行单元测试

    阅读更多 跨越边界: Ruby on Rails 的秘笈是什么? 我们能从 Rails 框架学到的经验 Ruby on Rails 好像一直处于争论的风口浪尖。...跨越边界: 在集成框架中进行测试,第 1 部分 在 Ruby on Rails 中进行单元测试 Java ™ 社区在推进自动单元测试方面已经做了一项激动人心的工作。...这篇文章是关于在 Ruby on Rails 上进行测试的两篇文章中的第一篇,将介绍 Rails 单元测试的方式。...中进行单元测试 在由两篇文章组成的这一系列的 第 1 部分 中,介绍了如何用 Ruby on Rails 进行单元测试,并展示了如何利用这种方式的某些方面改进 Java™ 的单元测试。...Java 开发人员对更高级测试的选择更加有限。在这篇文章中,将继续研究 Rails,体会用于功能测试和集成测试的集成框架的优势。

    1.2K20

    RubyMine 2023 Ruby和Rails集成开发环境

    RubyMine 2023.1 包含 Rails 7 和 Ruby 3.2 支持、新 UI 更新、更快的代码补全、更少的内存消耗、WSL 上改进的 gem 同步、更便捷的导航、在 RSpec 中使用共享上下文和示例的功能...,以及增强的 Docker 集成。...RubyMine 2023 RubyMine是一款由JetBrains开发的Ruby和Rails集成开发环境,主要特点包括:强大的编辑器:RubyMine内置有强大的代码编辑器,支持语法高亮、代码补全、...集成测试框架:RubyMine集成了多种测试框架,如RSpec、Cucumber等,方便用户进行单元测试和功能测试。...模板引擎支持:RubyMine支持多种模板引擎,如ERB、Haml等,可以方便地创建美观的网页。插件扩展:RubyMine提供丰富的插件扩展接口,用户可以根据需要添加额外的功能。

    1.3K40

    “小众”之美——Ruby在QA自动化中的应用

    在过去对自动化测试的多种尝试及实践的总结后,选择了Ruby。 Why Ruby? 简单点说就是:并不聪明的大脑加上“好逸恶劳”的思想,促使我在这些年的自动化测试实践中,不断寻找更合适的解决方案。...自身应该算是“纯粹”的测试人员,在“测试开发”这重职业并不普及的年代,一直希望有种语言可以让测试的开发效率超过研发,Ruby做到了。 人性化的语法,各种糖。...基于此,DHH放弃了PHP而使用Ruby开发出了Rails,DSL也因此成为Ruby开发的框架中非常普通的特性,而这对于很多主流语言都是种奢望。 对于测试来说足够充足的社区资源。...通过ci_reporter,可以方便地将Rspec的报告格式转为JUnit的XML格式,在Jenkins中做对应的展示。 ?...应用Rails,团队较快进入了可以通过数据进行质量分析的初级阶段,当然还有很长的路要走,在从0到1的这个过程中,还是较多地体会到了敏捷开发的特性,也充分感受到了DRY理念。

    1.9K30

    Effective Testing with RSpec 3 (第一部分:入门)

    欢迎来到RSpec! 在本书的这一部分中,你将在编写前几个工作测试时熟悉该框架。 首先,你将安装RSpec并编写你的前几个specs - RSpec的测试术语。...RSpec的API就是决定你希望代码如何表现并在你的specs中表达该决定。 一旦你掌握了基础知识,我们就无法拒绝向你展示,使RSpec与众不同的一些东西。...第1章 RSpec入门 RSpec 3是一个高效的Ruby测试框架。...您将在本书的课程中撰写的所有内容都将用于其中一种实践。 安装RSpec 首先,要使用RSpec 3,您需要最新版本的Ruby。...如果您使用的是较旧的东西,请转到Ruby下载页面并获取更新的内容 RSpec由三个独立的Ruby宝石组成: •rspec-core是运行规范的整体测试工具。

    2K30

    使用 YAML 文件配置 Jenkins 流水线

    几年前,我们的 CTO 写了一篇关于使用 Jenkins 和 Docker 为 Ruby On Rails 应用提供持续集成服务的文章。...它能将 GitHub 的组织中符合规则的项目自动添加到 Jenkins 中。唯一的约束就是在每一个分支下都必须有一个 Jenkinsfile,用于描述如何构建项目。...共享库有一个好处是我们可以集中扩展和修改我们的共享库代码。一旦添加新代码,Jenkins 就会自动更新它,还会通知所有的任务。 由于我们有不同语言的项目,我们使用 Docker 来构建测试环境。...Steps 部分中描述的步骤执行过程中,Docker 容器会提供你设置好的所有环境变量。 ### 总结 目前,WoloxCI 还在我们所有项目中一小部分项目进行测试。...同样的,我们可以将构建逻辑移动 JSON 文件中,或者任何格式的文件中,只你的共享库能解析它,并将它转换成 Jenkins 能理解的格式。

    4.8K40

    Effective Testing with RSpec 3(介绍)

    如果您熟悉其他测试框架但是对RSpec不熟悉,我们建议您阅读本书的前两部分,然后在一个部分中尝试RSpec你自己的项目。 当您这样做时,您可能会有一些问题,您可以参考具体的深入分析章节。...典型的代码片段将包含一行或多行Ruby代码,供您在文本编辑器中输入,以便以后运行它们。...作为一个测试框架,RSpec非常适合BDD工作流程。 RSpec帮助您“正确理解”并准确指出您在测试中的意思。...以下是他对RSpec做出的几项重大改进: •可组合匹配器,完全表达您需要的通过/失败标准 •rspec --bisect,它找到重现失败的最小测试用例集 •将RSpec的断言和模拟库与Ruby附带的Minitest...虽然我们已经在Ruby 2.2上测试了多个Ruby版本的代码,但是如果您按照我们在文本中提到的完全相同的版本,您将获得最佳体验:Ruby 2.4,RSpec 3.6等等。

    2K20

    Ansible和Docker的作用和用法

    我的应用包括一个 Dockerfile,它详细指定了 Ruby Docker 镜像的信息,这里面的步骤能够保证把正确的 Ruby 版本加载到镜像中。.... /.profile && cd /terrabox && RAILS_ENV=test bundle exec rake db:create db:migrate && bundle exec rspec...这个例子中的 Ruby Docker 镜像会加载 PATH 配置,这个配置能确保镜像加载正确的 Ruby 版本。 接下来,删除 git 历史,Docker 容器不需要它们。...Docker 容器内运行 Rails 应用 没有本地 Docker 镜像,从零开始部署一个中级规模的 Rails 应用大概需要100个 gems,进行100次整体测试,在使用2个核心实例和2GB内存的情况下...需要指出的一点是,我的应用上运行着一套完全测试套件,跑完测试需要花费额外1分钟时间。

    2.2K20

    开发者死后,他的开源项目会有人继续维护吗?

    在 Heartbleed 安全漏洞被发现后不久,在另一个常见的开源应用程序 Bash 中也发现了一个同样的安全问题,这使得无数的 Web 服务器和其他设备很容易受到攻击。 肯定还有更多未发现的漏洞。...如果软件库无法及时更新,软件升级后也就无法运行。这意味着在用户在更新了相应软件之后,那些依赖于过期库的应用程序可能无法工作。当维护代码库的开发人员离世或放弃一个项目时,使用该软件的每个人都会受到影响。...但是 Searls 注意到一个测试工具 Rspec-Given 没有被移交出去,他有意负责更新,但一路上遇到了不少麻烦。...Weirich 在 GitHub 上的 Rspec-Given 页面是其他 Ruby 用户报告错误或自愿帮助改进代码的主要地方。...他还必须说服分发代码的“包管理系统”Ruby Gems运营商使用他的 Rspec-Given 版本,而不再是 Weirich 的版本,以便使所有用户都能访问的变更。

    1.3K100

    GitLab 是如何用 Headless Chrome 测试的

    下面的例子介绍了GitLab如何切换到Headless Chrome GitLab最近从PhantomJS转变为Headless Chrome,用于前端测试和RSpec功能测试(ruby测试框架)。...在这篇文章中,我们会详细介绍这个变化的原因,面临的挑战,以及解决方案。我们希望这能帮助其他人也能进行类似的转变。 我们现在有一个真实可靠的方法在现代浏览器中测试GitLab。...当直接运行在Chrome的时候,这个方法已经提高写测试和调试的能力。还迫使我们去面对和清理一些在测试中的hacks(技巧)。...后端功能测试(RSpec + Capybara) 我们的功能测试是使用RSpec+Capybara(https://github.com/teamcapybara/capybara),进行完整的数据库,...结果 关于性能,改变之前通过对10个RSpec测试集进行非科学分析来衡量变化,改变后也通过10个测试。分解在这些管道之间添加或删除的任何测试。

    3.2K80

    技术的执念|TW洞见

    而后端也好不到哪里去,容器技术、Web框架、ORM、构建脚本、自动化测试工具、依赖管理、应用服务器等等,你总有很多的选项,却又无法在事先区分到底哪个技术/工具更靠谱、更适合项目。...仅仅从学习的速度上来讲,我们已经远远无法跟上科技演化的节奏了,这是人类自身的一种限制。 知识的陷阱 假设你在一个Ruby项目上,学习了Rails/ActiveRecord/RSpec/MySQL。...如果下一个项目还是Ruby,同样的技术站,你会觉得这是一种重复,因为除了业务逻辑、业务对象变化了之外,并没有新的内容,还是同样的技术。...比如你很熟悉用rspec来编写测试,忽然有一天心血来潮,想要学习JUnit,正确的做法就是泡杯茶,等这种冲动自己过去。...对于过载的信息 实践中,首先要令自己相信:你无法掌握所有的知识,即使仅仅在软件开发领域。

    87150

    技术的执念

    而后端也好不到哪里去,容器技术,Web框架,ORM,构建脚本,自动化测试工具,依赖管理,应用服务器等等,你总有很多的选项,却又无法在事先区分到底哪个技术/工具更靠谱,更适合项目。...仅仅从学习的速度上来讲,我们已经远远无法跟上科技演化的节奏了,这是人类自身的一种限制。 知识的陷阱 假设你在一个Ruby项目上,学习了Rails/ActiveRecord/RSpec/MySQL。...如果下一个项目还是Ruby,同样的技术站,你会觉得这是一种重复,因为除了业务逻辑、业务对象变化了之外,并没有新的内容,还是同样的技术。...比如如果你很熟悉用rspec来编写测试,忽然有一天心血来潮,想要学习JUnit,正确的做法就是泡杯茶,等这种冲动自己过去。...对于过载的信息 实践中,首先要令自己相信:你无法掌握所有的知识,即使仅仅在软件开发领域。

    71540

    Google 是如何设计 Ruby Serverless Runtime 的?

    这实际上是我们选择使用块语法而不是方法语法的另一个原因。方法隐含对象,对象以实例变量的形式携带状态,这些状态在无状态 FaaS 环境中可能无法正常工作。...流行的框架,如 Rails,承认了这一点,并通过提供测试工具和脚手架作为框架的一部分来鼓励主动测试,Google Cloud Functions 的 Ruby 运行时也遵循了这一点,为 Serverless...确实,这是 Google Ruby团队成员在使用其他框架(包括 Rails)时遇到的一个问题:很难测试应用程序的初始化过程,因为框架的初始化通常发生在测试之外,在它们运行之前。...该方法和其他 helper 方法定义在 FunctionsFramework::Testing 模块中,可以包含在 minitest 或 rspec 测试中。...但在所有情况下,设计运行时的经验提醒我,我们处在一个不断变化的行业中。Serverless 只是一系列变化中的最新一个,这些变化包括公共云,甚至包括 Rails 和 Ruby 本身。

    2.2K60

    新手RoR十分钟初体验Step By Step

    Installer - Windows 安装即可,最新版1.8.5-21 2、测试是否安装成功 建议一个Test.rb文件,内容如下 hello = "Hello Ruby World."...puts hello   在命令行下运行 ruby Test.rb ,注意安装时%RUBY_HOME%\bin已经设置在你的PATH中了,检查一下即可,运行正确的话就会显示 Hello Ruby World...==>Debugger/Run的右边,选中Run process in terminal,运行时可以打开新的窗口来查看,默认在FreeRIDE下面显示结果。...邮件分发与测试模块,类似Java里的JavaMail的东东 actionpack (1.12.5) 类似于Web的MVC中的V与C actionwebservice (1.1.6) Web Service...支持 activerecord (1.14.4) ORM工具,类似Java中的Hibernate之类的 activesupport (1.3.1) Rails框架所依赖的一些基础工具类 rails

    1.6K10
    领券