[rspec-users] Executing multiple rspec scripts
Jim Morris
ml at e4net.com
Sat Jul 12 20:34:22 EDT 2008
Another way to do it instead of the Rake method is what I do...
I create a suite.rb in the spec folder with this...
# suite.rb - run all my tests in this folder and below
if __FILE__ == $0
dir = File.dirname(__FILE__)
tests= Dir["#{dir}/**/test_*.rb"] # anything named test_*.rb
tests.concat Dir["#{dir}/**/*_spec.rb"] # anything named *_spec.rb
# add additional tests that don;t follow conventional naming schemes
%w(anotherfile, onemorefile).each do |f|
tests << File.join(dir, f) + ".rb"
end
puts "Testing: #{tests.join(', ')}"
tests.each do |file|
load file, true
end
end
then you can run all your tests via...
> ruby suite.rb
You could also use require instead of load, but I use nasty globals in my tests and I believe the
load doesn't carry over globals.
YMMV
Robert Stagner wrote:
> Actually, I'm a member of the QA team (limited development experience).
> So, we are attempting to use RSpec without rails. What is Rake? Near
> the end of your response, you list a way of running multiple spec files
> by creating a spec task. Since, I'm not a developer, could you please
> provide me with a clear example on how to do this? Or, if there is an
> alternative method on doing this, please let me know. Thanks again.
>
> My current setup is:
>
> 1 spec file that relies on accessing a module of classes to perform
> Watir web app testing. I've included a sample of the code below
>
> describe LoginWelcomeScreen do
> describe "using IE Explorer" do
> before(:each) do
> @login = LoginWelcomeScreen.new(IEWebBrowser.instance)
> end
>
> it "should support a username text field" do
> @login.test_username_field.should be_an_instance_of(Watir::TextField)
> end
>
> it "should support a password text field" do
> @login.test_password_field.should
> be_an_instance_of(Watir::TextField)
> end
> .
> .
> .
> .
> end
>
>
> On Thu, Jul 10, 2008 at 8:17 PM, Ben Mabey <ben at benmabey.com
> <mailto:ben at benmabey.com>> wrote:
>
> Robert Stagner wrote:
>
> I'm new to RSpec. I've just installed the gem and begun
> experimenting with developing several scripts. From what I've
> seen thus far, it looks like it will aid our QA team in testing
> many web applications. Is there a way to execute multiple rspec
> test scripts from one central file?
>
> --
> Regards,
> Robert
>
>
> Robert,
> Welcome to rspec! There are a number of ways you can do this. You can
> do it with the command line:
> spec spec/*_spec.rb
>
> The way it is generally done is by using a rake task however...
> Are you using rails? If so.. have you run "./script/generate rspec"?
> That will install a spec task for you so you just have to type "rake
> spec" to run all of your specs.
>
> If you are in a normal ruby app then you can create your own spec task
> by putting this in your Rakefile or tasks dir:
>
> require 'rubygems'
> require 'spec'
> require 'spec/rake/spectask'
>
> desc "Run the specs under spec/models"
> Spec::Rake::SpecTask.new do |t|
> t.spec_files = FileList['spec/*_spec.rb']
> end
>
> If you provide more information on what your setup is we could help
> more.
>
> -Ben
> http://benmabey.com
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org <mailto:rspec-users at rubyforge.org>
> http://rubyforge.org/mailman/listinfo/rspec-users
>
>
>
>
> --
> Regards,
> Robert
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
--
Jim Morris, http://blog.wolfman.com
More information about the rspec-users
mailing list