I have a rails app, that is setup with the default test unit, how can I remove it and use rspec instead? (I don't have any tests written, I just didn't ignore it during app generation).
RSpec is a unit test framework for the Ruby programming language. RSpec is different than traditional xUnit frameworks like JUnit because RSpec is a Behavior driven development tool.
RSpec is a testing tool for Ruby, created for behavior-driven development (BDD). It is the most frequently used testing library for Ruby in production applications. Even though it has a very rich and powerful DSL (domain-specific language), at its core it is a simple tool which you can start using rather quickly.
Running tests by their file or directory names is the most familiar way to run tests with RSpec. RSpec can take a file name or directory name and run the file or the contents of the directory. So you can do: rspec spec/jobs to run the tests found in the jobs directory.
Capybara is a web-based test automation software that simulates scenarios for user stories and automates web application testing for behavior-driven software development. It is written in the Ruby programming language. Capybara.
You can actually have any number of testing frameworks in use at the same time. For example, you can use cucumber, rspec, test-unit and mini-test and they will all function without stepping on each other's feet. To use rspec in rails simply add the following to your Gemfile:
group :development, :test do gem 'rspec-rails' end
Then update or install your bundle and run the following command to setup rspec:
rails generate rspec:install
You can find more information here.
For Rails 3, to really remove test_unit from your application, you need to remove (or comment out) the test_unit Railtie in application.rb
# require "rails/test_unit/railtie"
As Pan mentions, you don't have to just choose one testing framework. But you asked how to remove test_unit, so that is how you really do it.
(Curious about what this line of code does? Check out the railties/lib/rails/test_unit/railtie.rb source.)
To install RSpec into your app, follow the directions on rspec-rails. As it says, add rspec-rails to the :test and :development groups in the Gemfile:
group :test, :development do gem "rspec-rails", "~> 2.0" end
Then run bundle install
and then rails generate rspec:install
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With