Jarmo Pertman
2011-Jun-01 14:10 UTC
[rspec-users] how to include module into shared example group in RSpec 2
Hi! We tried to upgrade our RSpec from 1.3.1 to 2.6 and are having some problems. It seems that shared example group includes modules differently in RSpec 2. Consider the following code: module MyModule def testing end end shared_examples_for "shared" do include MyModule it "works" do testing end end describe "describe" do it_should_behave_like "shared" it "works too" do testing end end When running with RSpec 1.3.1 all specs are passing, but RSpec 2.6 fails with one failure: 1) describe works too Failure/Error: testing NameError: undefined local variable or method `testing'' for #<RSpec::Core::ExampleGroup::Nested_1:0x47edee0 @example=nil> # ./spec/blah/blah_spec.rb:18 It seems that the describe block doesn''t get the methods included from the module. How to solve that problem? Jarmo
Jarmo Pertman
2011-Jun-01 14:37 UTC
[rspec-users] how to include module into shared example group in RSpec 2
Hi! We tried to upgrade our RSpec from 1.3.1 to 2.6 and are having some problems. It seems that shared example group includes modules differently in RSpec 2. Consider the following code: module MyModule def testing end end shared_examples_for "shared" do include MyModule it "works" do testing end end describe "describe" do it_should_behave_like "shared" it "works too" do testing end end When running with RSpec 1.3.1 all specs are passing, but RSpec 2.6 fails with one failure: 1) describe works too Failure/Error: testing NameError: undefined local variable or method `testing'' for #<RSpec::Core::ExampleGroup::Nested_1:0x47edee0 @example=nil> # ./spec/blah/blah_spec.rb:18 It seems that the describe block doesn''t get the methods included from the module. How to solve that problem? Jarmo
David Chelimsky
2011-Jun-01 14:42 UTC
[rspec-users] how to include module into shared example group in RSpec 2
On Jun 1, 2011, at 9:10 AM, Jarmo Pertman wrote:> Hi! > > We tried to upgrade our RSpec from 1.3.1 to 2.6 and are having some > problems. It seems that shared example group includes modules > differently in RSpec 2. > > Consider the following code: > module MyModule > def testing > end > end > > shared_examples_for "shared" do > include MyModule > > it "works" do > testing > end > end > > describe "describe" do > it_should_behave_like "shared" > > it "works too" do > testing > end > end > > When running with RSpec 1.3.1 all specs are passing, but RSpec 2.6 > fails with one failure: > 1) describe works too > Failure/Error: testing > NameError: > undefined local variable or method `testing'' for > #<RSpec::Core::ExampleGroup::Nested_1:0x47edee0 @example=nil> > # ./spec/blah/blah_spec.rb:18 > > It seems that the describe block doesn''t get the methods included from > the module. How to solve that problem?This has been through a bit of churn, but here is the short version: it_should_behave_like creates (and wraps) a nested group, but there is are also two new include_context/include_examples methods. Your choices are: describe "describe" do it_should_behave_like "shared" do it "works too" do testing end end end describe "describe" do include_context "shared" it "works too" do testing end end describe "describe" do include_examples "shared" it "works too" do testing end end
Jarmo Pertman
2011-Jun-01 15:05 UTC
[rspec-users] how to include module into shared example group in RSpec 2
Thank you :) Where can i see the differences between #it_should_behave_like, #include_context and #include_examples? Jarmo On Jun 1, 5:42?pm, David Chelimsky <dchelim... at gmail.com> wrote:> On Jun 1, 2011, at 9:10 AM, Jarmo Pertman wrote: > > > > > > > > > > > Hi! > > > We tried to upgrade our RSpec from 1.3.1 to 2.6 and are having some > > problems. It seems that shared example group includes modules > > differently in RSpec 2. > > > Consider the following code: > > module MyModule > > ?def testing > > ?end > > end > > > shared_examples_for "shared" do > > ?include MyModule > > > ?it "works" do > > ? ?testing > > ?end > > end > > > describe "describe" do > > ?it_should_behave_like "shared" > > > ?it "works too" do > > ? ?testing > > ?end > > end > > > When running with RSpec 1.3.1 all specs are passing, but RSpec 2.6 > > fails with one failure: > > ?1) describe works too > > ? ? Failure/Error: testing > > ? ? NameError: > > ? ? ? undefined local variable or method `testing'' for > > #<RSpec::Core::ExampleGroup::Nested_1:0x47edee0 @example=nil> > > ? ? # ./spec/blah/blah_spec.rb:18 > > > It seems that the describe block doesn''t get the methods included from > > the module. How to solve that problem? > > This has been through a bit of churn, but here is the short version: > > it_should_behave_like creates (and wraps) a nested group, but there is are also two new include_context/include_examples methods. Your choices are: > > describe "describe" do > ? it_should_behave_like "shared" do > ? ? it "works too" do > ? ? ? testing > ? ? end > ? end > end > > describe "describe" do > ? include_context "shared" > ? it "works too" do > ? ? testing > ? end > end > > describe "describe" do > ? include_examples "shared" > ? it "works too" do > ? ? testing > ? end > end > _______________________________________________ > rspec-users mailing list > rspec-us... at rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users
David Chelimsky
2011-Jun-01 15:05 UTC
[rspec-users] how to include module into shared example group in RSpec 2
On Jun 1, 2011, at 10:05 AM, Jarmo Pertman wrote:> Thank you :) > > Where can i see the differences between #it_should_behave_like, > #include_context and #include_examples?http://relishapp.com/rspec/rspec-core> > Jarmo > > On Jun 1, 5:42 pm, David Chelimsky <dchelim... at gmail.com> wrote: >> On Jun 1, 2011, at 9:10 AM, Jarmo Pertman wrote: >> >> >> >> >> >> >> >> >> >>> Hi! >> >>> We tried to upgrade our RSpec from 1.3.1 to 2.6 and are having some >>> problems. It seems that shared example group includes modules >>> differently in RSpec 2. >> >>> Consider the following code: >>> module MyModule >>> def testing >>> end >>> end >> >>> shared_examples_for "shared" do >>> include MyModule >> >>> it "works" do >>> testing >>> end >>> end >> >>> describe "describe" do >>> it_should_behave_like "shared" >> >>> it "works too" do >>> testing >>> end >>> end >> >>> When running with RSpec 1.3.1 all specs are passing, but RSpec 2.6 >>> fails with one failure: >>> 1) describe works too >>> Failure/Error: testing >>> NameError: >>> undefined local variable or method `testing'' for >>> #<RSpec::Core::ExampleGroup::Nested_1:0x47edee0 @example=nil> >>> # ./spec/blah/blah_spec.rb:18 >> >>> It seems that the describe block doesn''t get the methods included from >>> the module. How to solve that problem? >> >> This has been through a bit of churn, but here is the short version: >> >> it_should_behave_like creates (and wraps) a nested group, but there is are also two new include_context/include_examples methods. Your choices are: >> >> describe "describe" do >> it_should_behave_like "shared" do >> it "works too" do >> testing >> end >> end >> end >> >> describe "describe" do >> include_context "shared" >> it "works too" do >> testing >> end >> end >> >> describe "describe" do >> include_examples "shared" >> it "works too" do >> testing >> end >> end >> _______________________________________________ >> rspec-users mailing list >> rspec-us... at rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ > rspec-users mailing list > rspec-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users
Jarmo Pertman
2011-Jun-01 16:35 UTC
[rspec-users] how to include module into shared example group in RSpec 2
Done https://github.com/rspec/rspec-core/issues/396 Jarmo On Jun 1, 6:05?pm, David Chelimsky <dchelim... at gmail.com> wrote:> On Jun 1, 2011, at 10:05 AM, Jarmo Pertman wrote: > > > Thank you :) > > > Where can i see the differences between #it_should_behave_like, > > #include_context and #include_examples? > > http://relishapp.com/rspec/rspec-core > > > > > > > > > > > > > Jarmo > > > On Jun 1, 5:42 pm, David Chelimsky <dchelim... at gmail.com> wrote: > >> On Jun 1, 2011, at 9:10 AM, Jarmo Pertman wrote: > > >>> Hi! > > >>> We tried to upgrade our RSpec from 1.3.1 to 2.6 and are having some > >>> problems. It seems that shared example group includes modules > >>> differently in RSpec 2. > > >>> Consider the following code: > >>> module MyModule > >>> ?def testing > >>> ?end > >>> end > > >>> shared_examples_for "shared" do > >>> ?include MyModule > > >>> ?it "works" do > >>> ? ?testing > >>> ?end > >>> end > > >>> describe "describe" do > >>> ?it_should_behave_like "shared" > > >>> ?it "works too" do > >>> ? ?testing > >>> ?end > >>> end > > >>> When running with RSpec 1.3.1 all specs are passing, but RSpec 2.6 > >>> fails with one failure: > >>> ?1) describe works too > >>> ? ? Failure/Error: testing > >>> ? ? NameError: > >>> ? ? ? undefined local variable or method `testing'' for > >>> #<RSpec::Core::ExampleGroup::Nested_1:0x47edee0 @example=nil> > >>> ? ? # ./spec/blah/blah_spec.rb:18 > > >>> It seems that the describe block doesn''t get the methods included from > >>> the module. How to solve that problem? > > >> This has been through a bit of churn, but here is the short version: > > >> it_should_behave_like creates (and wraps) a nested group, but there is are also two new include_context/include_examples methods. Your choices are: > > >> describe "describe" do > >> ? it_should_behave_like "shared" do > >> ? ? it "works too" do > >> ? ? ? testing > >> ? ? end > >> ? end > >> end > > >> describe "describe" do > >> ? include_context "shared" > >> ? it "works too" do > >> ? ? testing > >> ? end > >> end > > >> describe "describe" do > >> ? include_examples "shared" > >> ? it "works too" do > >> ? ? testing > >> ? end > >> end > >> _______________________________________________ > >> rspec-users mailing list > >> rspec-us... at rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users > > _______________________________________________ > > rspec-users mailing list > > rspec-us... at rubyforge.org > >http://rubyforge.org/mailman/listinfo/rspec-users > > _______________________________________________ > rspec-users mailing list > rspec-us... at rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users