Hi, When performing BDD there are few occasions when a certain example (BDD test) depends on other context/example. Here is one example: describe Person do before do @person = Person.new @person.Age = 19 end it "should be able to vote" do @person.CanVote().should == true end describe "19 years old" do it "should be able to vote" # does not work end end The context of "19 years old" fails since it requires to put the "voting" context as a shared example which I don''t want to do. If we can just call other contexts within the parent context then it would be great. I think it would be great if the above example just works. -- Posted via http://www.ruby-forum.com/.
Which library is this? Some support what you''re asking for, some don''t. I think bacon supports it ... test-spec doesn''t. Not sure about rspec. If you''re are that concerned about it, please post this message to the cooresponding project''s mailing list ... this isn''t part of IronRuby, it''s just a Ruby library. ________________________________________ From: ironruby-core-bounces at rubyforge.org [ironruby-core-bounces at rubyforge.org] on behalf of Mohammad Azam [lists at ruby-forum.com] Sent: Tuesday, July 07, 2009 3:00 PM To: ironruby-core at rubyforge.org Subject: [Ironruby-core] Spec and calling other examples Hi, When performing BDD there are few occasions when a certain example (BDD test) depends on other context/example. Here is one example: describe Person do before do @person = Person.new @person.Age = 19 end it "should be able to vote" do @person.CanVote().should == true end describe "19 years old" do it "should be able to vote" # does not work end end The context of "19 years old" fails since it requires to put the "voting" context as a shared example which I don''t want to do. If we can just call other contexts within the parent context then it would be great. I think it would be great if the above example just works. -- Posted via http://www.ruby-forum.com/. _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core
Mohammad Azam wrote:> > The context of "19 years old" fails since it requires to put the > "voting" context as a shared example which I don''t want to do. If we can > just call other contexts within the parent context then it would be > great. I think it would be great if the above example just works.I''m not quite sure what you''re expecting in this case. I can understand if you are expecting the parent context to be passed down to the child, but the code: it "should be able to vote" # does not work Is only saying "here is a description about what I want to test... I''m getting ready to test something.... and ... nothing" I''d imagine based on a conversation we had that you "might" be expecting the implicit method calling/subject setup mentioned in the post here: http://blog.davidchelimsky.net/2009/01/13/rspec-1-1-12-is-released/ However, for that, you''d actually need the following syntax (which is probably using some magic shortcuts behind the scenes): it { should be_able_to_vote } You''d also need to add (perhaps monkey-patch if you''re dealing with an existing C# dll) the method that RSpec will be looking for (namely: able_to_vote? ) Since you already have CanVote, you could actually just alias it like this: class Person alias_method :able_to_vote?, :CanVote end Let us/me know if this helps, and how far you get from here If you''d like to discuss further personally, please email or direct message me. Thanks -- Posted via http://www.ruby-forum.com/.