From: ara.t.howard@... Date: 2006-03-25T14:09:47+09:00 Subject: Re: Regarding Testing Mixins On Sat, 25 Mar 2006, James Herdman wrote: > How does one write a unit test for a mixin? I gathered since our unit test > is a class (TestClassName < Test::Unit::TestCase), we could just include said > module into said class. However, I've ran into a problem. > > Suppose my project directory is as follows: > > ../project_dir/trunk/lib # Where all my classes and scripts go > ../project_dir/trunk/tests # Where all my tests go > > My mixin resides in the lib folder, and normally I use this neat trick to > handle this discreprancy in file locations: > > $:.unshift File.join(File.dirname(__FILE__), "..", "lib") # Thank you Pick > Ax! > > Why doesn't this seem to work for mixins? Where does Ruby look for mixins? > > I'm assuming it's a path problem despite the fact that Ruby groans that the > name I'm providing it is an unitialized constant (e.g. include Mixin -- if I > write include "Mixin", Ruby tells me "wrong argument type String (expected > Module)") > > Thank you, > > James Herdman a) you still must require your mixin using the __FILE__ method b) then you mix it in as normal eg require 'mixin' class Test < Test::Unit::TestCase include Mixin end make sense? regards. -a -- share your knowledge. it's a way to achieve immortality. - h.h. the 14th dali lama