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

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

在本章中,你将看到: •如何安装RSpec并编写你的第一个specs •如何使用describe,用它来组织你的specs •如何验证期望的结果 •如何解释测试失败 •如何使你的specs不受重复设置代码的影响...•重新排序,配置过滤规范时,您会发现订单依赖性,测试速度慢工作不完整。 您将在本书的课程中撰写的所有内容都将用于其中一种实践。...6 gems installed 你可以看到这里列出的三个宝石,加上一些支持库rspec包装宝石,共有六颗宝石。...让我们用RSpec语言这么说吧。 RSpec使用describeit来表达会话格式的概念: •“描述一个理想的三明治” •“首先,它很美味” 创建一个新项目目录,其子目录名为spec。...组,示例期望 此文件定义了您的测试,在RSpec中称为您的规范,是规范的缩写(因为它们指定了代码的所需行为)。 外部RSpec.describe块创建一个示例组。

2K30

Effective Testing with RSpec 3(介绍)

如果您是RSpec的长期用户,您可以从第III,IVV部分开始。这些包含您在野外可能遇到的情况的详细配方。 稍后,您可以回到本书的开头,重温RSpec的理念。...RSpec行为驱动的开发 RSpec将自己称为行为驱动开发(BDD)测试框架。我们想花点时间谈谈我们对该术语的使用,以及相关术语,测试驱动开发(TDD)。...但是,RSpecBDD不是同义词。 您不必练习BDD来使用RSpec,也不必使用RSpec来练习BDD。 BDD的大部分都超出了RSpec的范围; 例如,我们不会在本书中谈论利益相关者的参与。...从那时起,他就使用教授RSpec来测试从微型微控制器到全功能桌面Web应用程序的所有内容。...关于版本的注释 我们在本书中使用的库,包括来自RSpec框架的库其他依赖项(如SinatraSequel),旨在向后兼容小版本升级。

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

    .gitlab-ci.yml关键词完整解析(二)

    这个关键词可以reviewmerge搭配。 extends 这个关键词可以使一个任务继承另一个任务。....tests script: rake rspec only: variables: - $RSPEC 任务rspec 继承了.tests任务,在流水线中.tests是一个隐藏的任务...被rspec继承后,相同的key会以rspec为准,rspec没有的,而.tests有的,则合并到rspec中, 合并后的结果是 rspec: script: rake rspec stage...trigger 是应对那些更加复杂的CICD流程,如多流水线,父子流水线 使用它可以定义一个下游的流水线,配置了trigger的任务是不能跑脚本的,就是说不能定义script, before_script, ...项目这个是一个多项目流水线 rspec: stage: test script: bundle exec rspec staging: stage: deploy trigger: my

    1.5K31

    GitLabCI系列之流水线语法第五部分

    binaries目录)创建存档, job: artifacts: name: "$CI_COMMIT_REF_NAME" paths: - binaries/ 使用当前作业的名称当前分支或标记...artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME" paths: - binaries/ 要创建一个具有当前阶段名称分支名称的存档...要仅在作业失败时上传工件: job: artifacts: when: on_failure ---- artifacts:expire_in 制品的有效期,从上传存储到GitLab的时间开始算起...and 2 days’ 一周后过期 job: artifacts: expire_in: 1 week ---- artifacts:reports 用于从作业中收集测试报告,代码质量报告安全报告...使用文件名模式( junit: rspec-*.xml ),文件名数组( junit: [rspec-1.xml, rspec-2.xml, rspec-3.xml] )或其组合( junit: [rspec.xml

    3.4K20

    GitLabCI系列之流水线语法第六部分

    使用合并功能可以自定义覆盖包含本地定义的CI / CD配置。相同的job会合并,参数值以源文件为准。...branches testjob: extends: .tests script: echo "mvn clean test" only: variables: - $RSPEC...合并后 testjob: stage: test script: mvn clean test only: variables: - $RSPEC refs:...允许创建多项目管道子管道。将trigger与when:manual一起使用会导致错误。 多项目管道:跨多个项目设置流水线,以便一个项目中的管道可以触发另一个项目中的管道。...如果在上游下游项目中定义了两个具有相同名称的变量,则在上游项目中定义的变量将优先。默认情况下,一旦创建下游管道,trigger作业就会以success状态完成。

    3K30

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

    开发者退出有一个短语形容——被卡车/巴士撞了,意思是职业生活方式变动、婚育、意外伤亡等导致他们停止参与一个开源项目。...但是 Searls 注意到一个测试工具 Rspec-Given 没有被移交出去,他有意负责更新,但一路上遇到了不少麻烦。...Rspec-Given的代码托管在代码托管和协作站点 GitHub 上,后者目前拥有 6700 万个代码库。...Weirich 在 GitHub 上的 Rspec-Given 页面是其他 Ruby 用户报告错误或自愿帮助改进代码的主要地方。...一个“去世开关” Searls接管Rspec-Given时只有30岁,他为自己的开源项目制定了遗嘱继任计划。除此之外,开发人员还可以针对未来做出其他努力。

    1.3K100

    logstash input插件开发

    但如果公司内部开发的数据库或其它存储类的服务不能开源产品在接口协议上兼容,比如腾讯自研的消息队列服务CMQ不依赖于其它的开源消息队列产品,所以不能直接使用logstash的logstash-input-kafka...或logstash-input-rabbitmq同步CMQ中的数据;腾讯云对象存储服务COS, 在鉴权方式上AWS的S3存在差异,也不能直接使用logstash-input-s3插件从COS中读取数据...bash -s stable source /etc/profile.d/rvm.sh 2 安装jruby rvm install jruby rvm use jruby 3 安装包管理工具bundle测试工具...rspec gem install bundle gem install rspec 从example开始 1 clone logstash-input-example git clone https...是一个ruby测试库,通过bundle命令执行rspec: bundle exec rspec 如果cos.rb中的代码没有语法或运行时错误,则会出现如果信息表明测试成功: Finished in 0.8022

    4.1K61

    GitLab 冷知识:在 Gitlab CI Pipeline 中进行 Git Push 操作 🦊

    它是 YAML 锚点[1] 的替代方案,并且更加灵活可读。...# extend example .tests: script: rake test stage: test only: refs: - branches rspec:...extends: .tests script: rake rspec only: variables: - $RSPEC before_script 与 after_script...CI_COMMIT_SHA} 就是我们在 before_script 中 clone 的仓库目录,理论上可以使用任何名称来代替,这里使用 {CI_COMMIT_SHA} 是为了确保这个目录名称唯一不会其他目录名称重复...结语 GItLab CI 一直在努力平衡易用性灵活性,通过多种关键字预定义变量来让用户更好的使用构建 Pipeline,同时也不会过多的限制用户的发挥空间,上面这段逻辑,完全可以使用其他 shell

    5.3K20
    领券