ruby-on-rails - 在 Rails 的 rspec 中,我如何编写/编辑我的测试文件,以便特定上下文中的示例以设定的顺序运行?
问题描述
我正在使用带有 RSpec 3.4.0 的 Rails 4.2。如果我想按照文件中出现的顺序运行所有示例,我可以运行
bundle exec rspec --order defined spec/models/my_model_spec.rb
但是,如果我只想以特定顺序在特定描述块中运行示例怎么办?有什么方法可以通过在文件本身中添加一些属性或进行注释来做到这一点(而不是必须在命令行中添加它们)?
解决方案
如果您只想在单个describe
or中运行规范context
,只需将describe
orcontext
语句的行号添加到规范文件名的末尾即可。
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
。
推荐阅读
- c - C | 仅使用 for/while 循环和 if/else 语句在 Box 内打印 Box
- matlab - 如何从插值图像估计放大因子?
- javascript - 在 React 组件中获取数据的位置
- python - 使用 Falcon Python 和 Gunicorn 的 HTTP 响应生成器
- chart.js - 在 Chart.js 中更改对数刻度的底
- android - EditText.getText().toString() 错误
- python - 从与模式匹配的目录中删除文件
- javascript - 使用纯 JavaScript 单击 div 元素时删除或激活特定状态
- docker - 如何使用 Docker 而不是 Virtualbox 在 macOS 上制作透明代理?
- ios - 如何在快速重新加载数据后使表格视图显示特定行?