what is?, finegrained and focus, one object at a time, fast!!
avoid unit test brittleness, activerecord test -> hit the database, remove db from the equation, gem install unit_record, ActiveRecord::Base.disconnect!
unit test are for any class (not only models), controllers, using mocks to avoid dependencies of the model, gem install unit_controller, do_not_render_view, views, brittle! don't do it, in the view shouldnt be interesting logic
new way, unit test for any class, no fixtures, not hitting the db
less fine grained
hits the db, test sql
requires data, problems with fixtures, pain maintaining, arbirtrary use by different devs, model factory (Factory Method Pattern)
for any class, models, interaction between controller and view
speed, slower, in parallel faster (33%), deepTest
classic integration tests
sometimes useful for special purpose tests, performance tests, smoke tests, tests simulating multiple users
coarse grained test
writting acceptance tests, encapsulating a page
data access, focused acceptance test, hacking cookies to avoid login page
acceptance test parallelization