- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如果您有一个要测试其存在的属性列表,并且您有以下内容:
before do
@attr = Employee.new(name: "One",
email: "onetwo@three.com")
end
subject { @attr }
it { should respond_to(:name) }
it { should respond_to(:email) }
it { should be_valid }
然后你可以测试相反的情况吗,即如果这些属性为空,使用:
it { should_not respond_to(:reverse, :blank) }
it { should_not be_valid }
我确实尝试了上面的方法,但即使阅读了 this discussion,我也不太理解这些问题。 .
有谁知道如何使用相同的初始化来测试存在,然后转过来测试空白属性?
最佳答案
我认为您误解了 respond_to
在测试中的作用。当你做的时候
it { should respond_to(:name) }
您断言 @attr.respond_to(:name)
返回 true
,这意味着该方法存在,而不是它正在返回一个值。如果您想测试是否有返回值,您可以这样做:
its(:name){ should be_present }
这将确保调用 name
方法的结果返回一个非假、非空值。然后,当你反转那个测试时
its(:name){ should_not be_present }
您断言 name
方法返回空白。您必须为第二个测试创建不同的设置,因为您正在测试处于不同状态的对象。
关于ruby - Rspec 测试 : it { should respond_to() },我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9119034/
我正在通过railstutorial.org学习Rails,但我对一些事情感到困惑:在 this chapter作者告诉我们在控制台中使用 User 对象的 respond_to? 方法进行一些测试,
我可以在 irb 的主要对象中使用 respond_to?(): irb(main):001:0> def foo irb(main):002:1> "hi" irb(main):003:1> e
在所有其他方法中,它与 format.html 一起工作正常,但在这个与 format.js 的方法中,它更新 View 但可见 url 保持不变 respond_to do |format| f
我目前正在构建一个需要远程表单的应用程序,我发现我从来没有真正理解rails respond_to 的工作原理。 例如,我在 View 中有以下代码 true %> 我有一个名为 _home.j
我试过: 1.respond_to? "clone" # => true 1.clone # => TypeError: can't clone Fixnum
如果您有一个要测试其存在的属性列表,并且您有以下内容: before do @attr = Employee.new(name: "One", ema
我有一个模块定义了一个方法,如果它还没有被定义的话。 ActiveRecord 的属性就是这种情况,因为它们的 getter 和 setter 未定义为方法。 module B def creat
编辑:我使用的是 Ruby 2.0.0 版 我在文件 example.rb 中有以下代码 def say_hello puts 'hi' end puts respond_to?(:say_hel
与定义 respond_to? 相比,定义 respond_to_missing? 有什么意义?如果为某些类重新定义 respond_to? 会出什么问题? 最佳答案 没有respond_to_mis
假设我有一个 ArtcilesController使用如下创建操作。 def create @article = Article.new(params[:article]) respond_t
如果我想检查是否定义了具有给定名称的方法,最好使用respond_to?或defined?? 从效率的角度来看,使用defined?可能存在争议,因为defined?是内置关键字,而respond_t
我有一个使用 form_for 和 remote: true 设置的表单。 正如预期的那样,vocab Controller 中的相应更新操作将请求作为 JS 处理: Processing by V
我的 cart_controller 中有几个 Action 。我在/carts 中有 2 个 View :payment.html.erb 和 pay.html.erb def pay suc
我的 Rails 应用程序中创建 Controller 中的 respond_to block 在成功保存时没有重定向...我确信这是一个简单的解决方案,但我对 Rails 缺乏经验,这是我第一次遇到
我的 cart_controller 中有几个 Action 。我在/carts 中有 2 个 View :payment.html.erb 和 pay.html.erb def pay suc
我试图解决这个问题,但我需要帮助! 我正在使用rails 3和jquery,我包含rails.js并使用gem'jquery-rails'来创建它 - 但仍然;使用 $.ajax({url: self
我有一个评级 Controller ,其创建操作通过 Javascript 调用。我的评级文件夹中有一个 create.js 文件。我想为了调用 create.js 文件你需要这样的东西 respon
我的 Controller 中有这个方法: def index @hedge_fund_index_matrix = HedgeFundIndices.matrix @hedge_fu
最近我一直在尝试Rails,并且开始喜欢上respond_to。 在 PHP 中是否可以做这样的事情?,响应不同类型的请求。因此,即使禁用了 javascript,也很容易实现替代方法。 最佳答案 您
我目前正在尝试为收费表单编写功能测试,该表单通过 AJAX(jQuery) 加载到页面上。它从 charge_form 操作加载表单,该操作返回 Consult_form.js.erb View 。
我是一名优秀的程序员,十分优秀!