ruby-on-rails - 如何在Rspec中按修改时间对测试进行排序
问题描述
如何覆盖 Rspec 默认排序以按文件修改时间运行测试?
解决方案
只需将此配置添加到您test_helper
// spec_helper
:rails_helper
RSpec.configure do |config|
config.register_ordering(:global) do |items|
items.sort_by { |item| -File.mtime(item.metadata[:absolute_file_path]).to_i }
end
end
说明: Rspec 允许您使用config.resgister_orderdering
. 在这种情况下,我们将覆盖全局配置。您所要做的就是传递一个您定义自定义排序函数的块。
item.metadata[:absolute_file_path]
获取测试文件的文件路径。File.mtime
获取文件的修改时间,减号是对它们进行反向排序
推荐阅读
- mysql - 安装 MySQL for Visual Studio 1.2.8 失败
- typescript - 在 Typescript 中使用 Stackdriver 调试器和 Firebase 的云功能
- php - 从 mysql 查询编辑 wordpress 菜单
- javascript - 如何将函数作为参数与 RegEx 匹配?
- swift - 无法从 Firebase 加载我当前用户的帖子 - Swift
- html - 如何对齐列本身,而不是其中的内容在表格中左对齐
- shell - ./install: 功能:未找到 - gpu-blast
- wordpress - 将 Woocommerce Checkout 街道名称和门牌号码合并到地址
- math - 带有自定义范围的 Sigmoid 缩放和反转
- sql - Gcloud SQL Postgres 导入错误:CREATE TABLE ERROR:在“AS”第 2 行或附近出现语法错误:AS 整数 ^ 导入错误:退出状态 3**