For 1)
I use Rspec for modulation and functional testing.
I use Cucumber to test integration. Cucumbers use Capybara or Selenium. I like Cucumber because it allows me to write tests with clients. They feel involved and therefore sometimes provide more detailed information about their expectations.
Selenium can be used as a standalone application to test your web application directly in your browser.
There are many other tools, this is really a matter of choice. As you said, lights are no longer used, Factory Girl is one of the best ways to create test data sets.
For 2)
Of course, you do not need all these tools. You can even write your tests using native Rails helpers.
But they provide convenient helpers from which you can take advantage. So get the one you prefer. Some, such as Cucumber, have extensions (such as Pickle) to provide even more helpers.
For 3)
The strength of Rspec, Cucumber, Selenium (the ones I know), they can be used to test any application.
I am interested in listening to another point of view regarding Ajax testing.
source share