我把我的规格放在spec/
文件夹下。
当我运行rspec spec/*
它会正确运行所有规格。
但是,当我运行rspec spec/
(不带星号)时,它会跳过目录中的一个规范文件。
你能提供更多细节吗? 具体的文件名是什么? 你能把一个显示问题的示例 repo 放在一起吗?
好的,所以请获取此 repo: https :
在这个 repo 中,bundle 之后,当你运行rspec spec/*
你可以看到正在运行的edge case
规范。 如果您运行rspec spec
,它将不会运行。
顺便说一句,我在 mac 上。
你能重现这个问题吗?
RSpec 按预期工作并记录在您的存储库中。 RSpec 使用 glob 模式来查找规范文件。 默认情况下,它设置为spec/**/*_spec.rb
(例如_spec.rb
下的spec
_spec.rb
文件)。 您的matching_engine_handle_edge_cases.rb
文件与该模式不匹配,因此默认情况下不会加载。
您应该将该文件重命名为具有_spec.rb
后缀,或者如果您不喜欢默认模式,则将 RSpec 配置为使用不同的模式。
谢谢,我的坏:)
最有用的评论
RSpec 按预期工作并记录在您的存储库中。 RSpec 使用 glob 模式来查找规范文件。 默认情况下,它设置为
spec/**/*_spec.rb
(例如_spec.rb
下的spec
_spec.rb
文件)。 您的matching_engine_handle_edge_cases.rb
文件与该模式不匹配,因此默认情况下不会加载。您应该将该文件重命名为具有
_spec.rb
后缀,或者如果您不喜欢默认模式,则将 RSpec 配置为使用不同的模式。