gpt4 book ai didi

ruby - 我可以在 rspec 中使用多个排除过滤器吗?

转载 作者:数据小太阳 更新时间:2023-10-29 08:13:45 26 4
gpt4 key购买 nike

在 _spec.rb 文件中,我设置了一个排除过滤器,例如:

RSpec.configure do |config|
# we need determine this once at the very front
# and the result be available in the instance
server_success = server1_available?

config.exclusion_filter = {
:svr1 => lambda {|what|
case what
when :available
!server_success
end
}
}
end

然后在我做的文件中

describe :get_items_by_client, :svr1 => :available do

在服务器不可用时阻止测试执行。

如果我单独运行规范文件,这一切都可以正常工作。但是,我在另一个文件中有类似的代码控制访问不同服务器的测试,当我运行它们时,我只看到每个服务器检查都已完成(我在“serverX_available?”代码中有一个 puts),但只有一组测试被排除在外(即使两个服务器都不可用)。

我开始认为您只能有一个排除过滤器,但我可以在任何地方找到说明这一点的任何文档。这在每个文件的基础上可行吗?我可以在一个支持文件中包含一个复杂的过滤器,但是当我只运行一个规范文件时,我如何将它合并?

理想情况下,我想找到一种适用于每个文件的表单,但让我做一次可用性检查,因为它有点昂贵,而且我在测试中有几个受其控制的示例。

最佳答案

config.filter_run_excluding :cost => true
config.filter_run_excluding :slow => true

试一试,效果很好。

关于ruby - 我可以在 rspec 中使用多个排除过滤器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5628880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com