Ruby on rails 是否可以将正则表达式传递给';rspec`命令行命令?
当从命令行调用Ruby on rails 是否可以将正则表达式传递给';rspec`命令行命令?,ruby-on-rails,ruby,regex,ruby-on-rails-4,rspec,Ruby On Rails,Ruby,Regex,Ruby On Rails 4,Rspec,当从命令行调用rspec时,我知道您可以使用-e或-example标志传入一个regex,它与任何it块的内容相匹配,但是是否有方法传入一个regex并让rspec运行名称与该regex匹配的文件?您可以使用bash扩展。它不像一个完整的正则表达式那么强大,但在大多数情况下都能工作。所以你可以做像这样的事情 rspec spec/models/user_*.spec 此处的文档:您可以使用以下示例:- 它将为您加载名称以test 它将为您加载所有文件,中间有一个单词test,但不是以test
rspec
时,我知道您可以使用-e
或-example
标志传入一个regex,它与任何it
块的内容相匹配,但是是否有方法传入一个regex并让rspec运行名称与该regex匹配的文件?您可以使用bash扩展。它不像一个完整的正则表达式那么强大,但在大多数情况下都能工作。所以你可以做像这样的事情
rspec spec/models/user_*.spec
此处的文档:您可以使用以下示例:- 它将为您加载名称以
test
它将为您加载所有文件,中间有一个单词test
,但不是以test
它将运行名称以test开头的所有文件。与test_1_spec.rb、test_2_spec.rb等类似,但您必须从项目根目录运行此命令
也可以从--help
arup$ rspec -help | grep PATTERN
-P, --pattern PATTERN Load files matching pattern (default: "spec/**/*_spec.rb").
正则表达式必须有多复杂?你能用bash文件名扩展吗?(或者你不是坐在*尼克斯操作系统上?@bundacia是的。可以使用Bash。这是在运行所有测试或特定文件或两者时使用的?您想要什么?要按照模式运行文件?@ArupRakshit我想运行任何文件包含单词或短语的规范。
rspec -P spec/**/*?test*_spec.rb
arup$ rspec -help | grep PATTERN
-P, --pattern PATTERN Load files matching pattern (default: "spec/**/*_spec.rb").