Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rspec Rails 6如何正确测试枚举范围:false_Rspec_Scope_Ruby On Rails 6 - Fatal编程技术网

Rspec Rails 6如何正确测试枚举范围:false

Rspec Rails 6如何正确测试枚举范围:false,rspec,scope,ruby-on-rails-6,Rspec,Scope,Ruby On Rails 6,我有一个rails 6应用程序。 我正在使用rspec进行测试 我的模型看起来像这样 class Product < ApplicationRecord ... enum status: [:sold_out, :active, :archived], _scopes: false ... end it { is_expected.to define_enum_for(:status).with_values([:sold_out, :active, :archived])

我有一个rails 6应用程序。 我正在使用
rspec
进行测试 我的模型看起来像这样

class Product < ApplicationRecord
  ... 
  enum status: [:sold_out, :active, :archived], _scopes: false
  ...
end
it { is_expected.to define_enum_for(:status).with_values([:sold_out, :active, :archived]) }
 # this returns an error 
预期要定义的任务:状态为整数支持的枚举,映射 嫀“售罄”›至è0›,è“活动”›至è1›,è“存档”›至 ‹2›. :状态确实映射到 这些值,但枚举是(我们不知道是哪个)

现在,如果我删除
\u scopes:false
测试通过。但是我如何才能通过测试,保持
\u作用域:false

你在使用什么

假设您是,看起来它会检查是否存在,这是自动创建的,但是


如果您需要禁用范围,我会考虑编写一个没有值方法测试的自定义匹配器。

谢谢SugStEntoNo问题,希望它有帮助。