相关疑难解决方法(0)

Rails:验证包含布尔失败测试

我试图确保我的模型的一个字段是一个布尔值,但我的测试仍然失败.

阅读本文后:验证Rspec和Rails中的布尔值以及此Rails:如何验证某些内容是否为布尔值?我最终这样做了:

class Model < ActiveRecord::Base

  validates :my_field, :inclusion => { :in => [true, false] }

end
Run Code Online (Sandbox Code Playgroud)

我已经尝试过几种不同的测试方法(使用rspec和shoulda匹配器),并且由于我的测试一直在失败,我现在正处于最愚蠢的可能(?)方式.仍然,测试没有通过,我猜测有一些机制可以在某处转换价值.

以下是我用来了解发生了什么的事情:

# create instance without setting value ...

# these work as expected
model_instance.valid?.should be_false      # passes
model_instance.my_field = true
model_instance.valid?.should be_true       # passes
model_instance.my_field = false       
model_instance.valid?.should be_true       # passes

# works as expected
model_instance.my_field = ""
model_instance.valid?.should be_false      # passes

# these should pass but fail
model_instance.my_field = "foo"
model_instance.my_field.should == "foo"    # fails as well, …
Run Code Online (Sandbox Code Playgroud)

validation unit-testing boolean ruby-on-rails

15
推荐指数
2
解决办法
7755
查看次数

标签 统计

boolean ×1

ruby-on-rails ×1

unit-testing ×1

validation ×1