l0b*_*0b0 8 ruby-on-rails ruby-on-rails-3 pry factory-bot
为了调试我rescue binding.pry在有问题的行末尾插入的工厂:
after_create do |my_object, proxy|
my_object.foreign_key_id = proxy.generated_attribute rescue binding.pry
Run Code Online (Sandbox Code Playgroud)
不幸的是,在结果FactoryGirl::Declaration::Implicit上下文中,我似乎无法访问上下文,就像我在"普通"代码(NameError: undefined local variable or method `proxy' for #<FactoryGirl::Declaration::Implicit:0x0...>)中那样.如何检查和处理my_object,并proxy撬开会话中?
该代码作为黄瓜功能背景的一部分调用:
Given the following my_objects exist:
| property |
| value |
Run Code Online (Sandbox Code Playgroud)
factory_girl_rails并且factory_girl/step_definitions.rb是支持脚本所必需的.
Joe*_*ris 17
为了允许属性名称在没有块参数的情况下定义属性,factory_girl使用instance_eval和取消定义大多数私有方法来评估定义块Object,包括binding.这意味着当你binding.pry在上面调用时,你没有调用pry该块的绑定; 相反,您要定义一个名为"binding"的新属性,并pry在创建的属性定义上调用.
您可以通过使用Kernel.binding.pry来解决这个问题.
| 归档时间: |
|
| 查看次数: |
1363 次 |
| 最近记录: |