Traspec 是一种可通过静态和动态代码分析将你的规范转换为最新的 RSpec 语法的工具。使用Traspec,可以立即将RSpec2规格升级到RSpec3。它支持转换几乎所有的RSpec的三个变化。
例子这是一个示例规范:describeAccoutdosubject(:accout){Accout.ew(logger)}let(:logger){mock('logger')}describe'#balace'docotext'iitially'doit'iszero'doaccout.balace.should==0edededdescribe'#close'doit'logsaaccoutclosedmessage'dologger.should_receive(:accout_closed).with(accout)accout.closeededdescribe'#reew'docotext'whetheaccoutisotclosed'dobeforedoaccout.stub(:closed?).ad_retur(false)edit'doesotraiseerror'dolambda{accout.reew}.should_otraise_error(Accout::ReewalError)ededededTraspec会将其转换为以下形式:describeAccoutdosubject(:accout){Accout.ew(logger)}let(:logger){double('logger')}describe'#balace'docotext'iitially'doit'iszero'doexpect(accout.balace).toeq(0)edededdescribe'#close'doit'logsaaccoutclosedmessage'doexpect(logger).toreceive(:accout_closed).with(accout)accout.closeededdescribe'#reew'docotext'whetheaccoutisotclosed'dobeforedoallow(accout).toreceive(:closed?).ad_retur(false)edit'doesotraiseerror'doexpect{accout.reew}.ot_toraise_erroredededed安装只需使用gem命令安装traspec:$gemistalltraspec基本用法在转换您的规格之前:确保您的项目具有rspecgem依赖项 2.14 或更高版本。如果没有,请更改你的Gemfile或*.gemspec运行rspec并检查所有规格是否通过。确保Git存储库是干净的然后,在项目根目录下运行traspec:$cdsome-project$trasspec这将运行规范,转换它们,并覆盖spec目录中的所有规范文件转换后,rspec再次运行,检查是否一切仍然是绿色的:$budleexecrspec如果它是绿色的,请使用自动生成的消息提交更改,该消息描述转换摘要并帮助您的团队成员理解新语法:$gitcommit-aeF.git/COMMIT_EDITMSG点击空白处退出提示
评论