我有一个巨大的测试套件(> 5000次测试)需要一个小时才能运行。 400失败了,我有一个这样的失败测试列表:
rspec ./spec/models/fullscreen_hidden_view_state_spec.rb:116 # FullscreenHiddenViewState showing a playlist on third element - slide has all the right links and properties
rspec ./spec/features/fullscreen/play_spec.rb:59 # View case in fullscreen presention mode Courtesy section when viewing the cases discussion via the cases hidden share token the Add To button should be hidden
rspec ./spec/features/cases/index_spec.rb:204 # finding a case Filtering by study modality Filtering by modality only shows cases with modality
rspec ./spec/models/playlist_spec.rb[1:2:2:2:1] # Playlist it should behave like an entity with privacy .by_privilege (Playlist examples) for annonymous contains public playlists
rspec ./spec/models/playlist_spec.rb[1:2:2:2:2] # Playlist it should behave like an entity with privacy .by_privilege (Playlist examples) for annonymous works
rspec ./spec/models/playlist_spec.rb[1:2:2:3:1] # Playlist it should behave like an entity with privacy .by_privilege (Playlist examples) for privileged user contains all playlists
rspec ./spec/models/playlist_spec.rb[1:2:2:1:1] # Playlist it should behave like an entity with privacy .by_privilege (Playlist examples) for unprivileged users contains public and the users unlisted playlists
rspec ./spec/models/playlist_spec.rb[1:2:2:1:2] # Playlist it should behave like an entity with privacy .by_privilege (Playlist examples) for unprivileged users works
rspec ./spec/models/user_spec.rb:1004 # User quotas limited_unlisted_cases? user with manage cases privilege should equal false
rspec ./spec/models/user_spec.rb:813 # User quotas #can_add_draft_case? when non-deleted draft case count above the limit for privileged user should equal true
rspec ./spec/models/user_spec.rb:920 # User quotas #allowed_draft_cases user with manage cases privilege should eq -1
rspec ./spec/models/user_spec.rb:962 # User quotas allowed_unlisted_playlists user with manage cases privilege should eq -1
rspec ./spec/models/user_spec.rb:861 # User quotas allowed_unlisted_cases user with manage cases privilege should eq -1
我知道我可以运行每一行来运行特定的测试,但有一种简单的方法可以运行所有这些吗?
答案 0 :(得分:9)
您可以使用以下语法为多个文件运行规范:
rspec path/to/first/file path/to/second/file
答案 1 :(得分:2)
您可以使用rspec --only-failures
选项,该选项仅加载并运行失败的spec文件。
答案 2 :(得分:0)
FYI,可能无法完全回答这个问题,但是可以帮助其他访问者进行类似的查询。
如果您希望从某些特定的文件夹中运行规范,则可以使用
rspec --pattern=./spec/features/**/*_spec.rb
如果要排除某些文件
rspec --pattern=./spec/features/**/*_spec.rb --exclude-pattern="./spec/features/{folder1,folder2}/**/*_spec.rb"
有关更多信息,请参见此https://relishapp.com/rspec/rspec-core/v/3-8/docs/command-line/pattern-option
rspec --pattern="./spec/features/[t]*_spec.rb"
此处,它将运行所有以t
开头的文件名的规范。
rspec --pattern="./spec/features/[tran|u]*_spec.rb"
此处,它将运行所有以tran
或u
开头的文件名的规范。
要了解更多信息,请访问How to run multiple spec files in RSpec using single command in terminal?