So, the final bit of the course has been looking at integration testing
objective is to go through the processes to a conclusion, i.e.
login >>
attempt to bid on an auction you started >>
fail
login >>
bid on auction as highest bidder >>
fail
login >>
bid on auction >>
pass
and so on
can cross controllers which is why next level up from functional tests. May be more than one/two asserts as
they are linked and this is useful to ensure it doesn't bother trying tests it can't even get to
very good place to often refactor heavily
integration testing routes
def test_show_route
assert_recognizes({:controller => :auctions,
:action => :show,
:id => "1"}, auction_path(1)) <==named routes
end
def test_generate_route
assert_generates("/auctions/3", :controller => :auctions,
:action => :show,
:id => "3")
end
also can assert_routes
you could get back responses to look at when rjs is rendered
irb>> app.get("/auctions/destroy/1")
>> 200
irb>> app.response.body
(output of rjs file)
rcov tool
coverage of code with tests
ZenTest
runs in another terminal window, and everytime you make and save a change to a file, it works out the tests which are affected and reruns those tests.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment