Transpec RSpec 语法转换器开源项目

我要开发同款
匿名用户2021年11月18日
28阅读
开发技术Ruby
所属分类程序开发、代码生成工具
授权协议MIT

作品详情

Transpec 是一种可通过静态和动态代码分析将你的规范转换为最新的 RSpec 语法的工具。使用Transpec,可以立即将RSpec2规格升级到RSpec3。它支持转换几乎所有的RSpec的三个变化。

例子这是一个示例规范:

describeAccountdosubject(:account){Account.new(logger)}let(:logger){mock('logger')}describe'#balance'docontext'initially'doit'iszero'doaccount.balance.should==0endendenddescribe'#close'doit'logsanaccountclosedmessage'dologger.should_receive(:account_closed).with(account)account.closeendenddescribe'#renew'docontext'whentheaccountisnotclosed'dobeforedoaccount.stub(:closed?).and_return(false)endit'doesnotraiseerror'dolambda{account.renew}.should_notraise_error(Account::RenewalError)endendendendTranspec会将其转换为以下形式:

describeAccountdosubject(:account){Account.new(logger)}let(:logger){double('logger')}describe'#balance'docontext'initially'doit'iszero'doexpect(account.balance).toeq(0)endendenddescribe'#close'doit'logsanaccountclosedmessage'doexpect(logger).toreceive(:account_closed).with(account)account.closeendenddescribe'#renew'docontext'whentheaccountisnotclosed'dobeforedoallow(account).toreceive(:closed?).and_return(false)endit'doesnotraiseerror'doexpect{account.renew}.not_toraise_errorendendendend安装只需使用gem命令安装transpec:

$geminstalltranspec基本用法在转换您的规格之前:

确保您的项目具有rspecgem依赖项 2.14 或更高版本。如果没有,请更改你的Gemfile或*.gemspec运行rspec并检查所有规格是否通过。确保Git存储库是干净的然后,在项目根目录下运行transpec:

$cdsome-project$transspec这将运行规范,转换它们,并覆盖spec目录中的所有规范文件

转换后,rspec再次运行,检查是否一切仍然是绿色的:

$bundleexecrspec如果它是绿色的,请使用自动生成的消息提交更改,该消息描述转换摘要并帮助您的团队成员理解新语法:

$gitcommit-aeF.git/COMMIT_EDITMSG
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论