从命令行调用rspec
时,我知道您可以使用-e
或-example
标记传递与任何{{1的内容相匹配的正则表达式块,但有没有办法传入正则表达式并让RSpec运行其名称与正则表达式匹配的文件?
答案 0 :(得分:3)
您可以使用例子: -
它将为您加载所有文件,其名称以
test
开头
rspec -P spec/**/test*_spec.rb
rspec -P spec/**/test*.rb
它将为您加载所有文件,其中间有一个单词
test
,但不以test
开头
rspec -P spec/**/*?test*_spec.rb
它将运行名称以 test 开头的所有文件。与 test_1_spec.rb , test_2_spec.rb 等一样。但您必须从项目 root 目录运行此命令。
也可以从--help
arup$ rspec -help | grep PATTERN
-P, --pattern PATTERN Load files matching pattern (default: "spec/**/*_spec.rb").
答案 1 :(得分:1)
您可以使用bash扩展。它不像完整的正则表达式那么强大,但大部分时间都有效。所以你可以做像
这样的事情rspec spec/models/user_*.spec
文档:https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html#Pattern-Matching