Why can you not declare constants in methods with Ruby? -


Consider the following, StubFoo is a foo of Foo, which I want to stub for some tests.

class runner def run Foo = StubFoo using foo = Foo.new #Foo ... and end << / code>

This generates the following error message Is: dynamic continuous assignment

  This should be an example "should be" Foo = StubFoo foo = Foo.new foo.to_s.should == "I'm stubbed!"  
  • Does this work with RSPC test case, but not the above version?
  • As far as I know, "this" is only a method within RSPC, yet I am able to make a static redistribution within "method".

    I am doing this already want to know how joking is, etc. etc. ... in Ruby is different. I have heard that dynamic languages ​​are easy to fake / stub, and there are such guides on the internet, from which the simple class is handed over again. From my research in Ruby, it is not possible to declare a static within a method, yet I am confused as above.

    Edit

    OK, it's starting to understand more. I have yet to use const_set to update the run.

      def Older = Old Fu puts self.class.const_set (: Foo, StubFoo) foo = Foo.new foo.to_s self.class generates a warning, but what is it What is the purpose of the purposes of working in Ruby / Ruby? Const_set (Foo, old) foo = Foo.new foo.to_s end  

    Obviously, there is more elegant and feature-packed, but do they suppress this warning? constant = value

You define the constant in the law definition by the constant = Value . You can still reassign them using const_set Basically it means that it works with : yes, it One method is to discourage, but not to reject, dynamic continuous render. But you are not defining, you are calling it, you are calling it. The reassignment is within the block that you pass on as this as an argument

the blocks receive the type of references they are made of This means that inside the block, self.class.name will be the name of your test class. Therefore, when you define a consistency within the block passing the this method, then you are actually defining your test class continuously.


Comments

Popular posts from this blog

Eclipse CDT variable colors in editor -

AJAX doesn't send POST query -

wpf - Custom Message Box Advice -