首页 > 解决方案 > 在 Rails 的 rspec 中,我如何编写/编辑我的测试文件,以便特定上下文中的示例以设定的顺序运行?

问题描述

我正在使用带有 RSpec 3.4.0 的 Rails 4.2。如果我想按照文件中出现的顺序运行所有示例,我可以运行

bundle exec rspec  --order defined spec/models/my_model_spec.rb

但是,如果我只想以特定顺序在特定描述块中运行示例怎么办?有什么方法可以通过在文件本身中添加一些属性或进行注释来做到这一点(而不是必须在命令行中添加它们)?

标签: ruby-on-railsruby-on-rails-4rspecrspec-rails

解决方案


如果您只想在单个describeor中运行规范context,只需将describeorcontext语句的行号添加到规范文件名的末尾即可。

bundle exec rspec  --order defined scec/models/my_model_spec.rb:123

--example您还可以使用该选项按名称运行特定示例组。

bundle exec rspec  --example "context name" spec/models/my_model_spec.rb

不过,第二个选择将使用正则表达式来查找字符串。因此,它将在任何 、 或 语句中找到该字符串的describe所有context实例it


推荐阅读