Hi all,
We are currently using Watin to do UI testing on our web application. In effect we are doing integration testing from top to bottom since we are using a test database and not mocking.
In order to make sure the test database is in an expected state we have previously been using SQL Server's snapshot feature to rollback the database at the beginning of each test. This is fairly slow and also causes an error immediately after the snapshot is restored.
Since each the tests are invoking the UI and potentially using multiple db connections, we have no way of start a transaction on each connection.
I was wondering if it is possible to somehow attach all database connections to a single transaction and roll them back at a later point? This would probably have to happen at the db level itself.
If anyone has any other suggestions on how to reset our test data for each UI test I'd love to hear your ideas.