Rspec运行除特定文件夹之外的所有测试

Dee*_*kor 21 ruby rspec

我正在开发的项目有一个相当大的测试套件.我正在编写测试,当我单独运行它时会通过但是当我运行整个测试套件时,$rspec我会得到一些非常时髦的行为导致测试失败.

现在测试嵌套如下:

spec/folder1/folder2/folder3/test.rb
Run Code Online (Sandbox Code Playgroud)

这些命令中的每一个都运行测试正常,一切都通过:

$rspec spec/folder1/folder2/folder3
$rspec spec/folder1/folder2
$rspec spec/folder1/
Run Code Online (Sandbox Code Playgroud)

在同一级别还有大约10个其他文件夹folder1,我想单独不与套件的其余部分一起运行,以确定哪个文件夹包含打破我正在进行的测试的测试.

这可能吗?

pho*_*zed 37

用一个 --exclude-pattern,它们非常方便:

https://www.relishapp.com/rspec/rspec-core/v/3-3/docs/configuration/exclude-pattern

关于他们的一件好事:

--exclude-pattern标志接受shell样式的glob联合

所以你可以做点什么 rspec --exclude-pattern "spec/{foldername1,foldername2}/**/*_spec.rb"

  • 仅供参考,您还可以通过用逗号分隔来排除多个目录(或模式), `"spec/foldername1/**/*_spec.rb, spec/foldername2/**/*_spec.rb"` (4认同)