Martin, before I get to my solution, for unit testing it seemed to me that you only want to check what you can control. The above is more like what I call regression testing. I guess their "site" is a different site. May I ask what will happen if you follow the rules of the interface / integration, but nothing will ever appear on their screen, although there may be a problem that you could or could not do about it? Moreover, what happens when they change their site or algorithms? You will eventually have to write code based on what they do, what sucks.
Thus, as mentioned above, you can separate the load tests and data validation. I admit, I don't know anything about PNunit, but just throwing threads at it is not going to solve the 3-hour latency for each test round-trip.
if you need to execute synchronously, you can load all the data into ClassInitialize (), and then hibernate until you start checking and running the actual tests.
If it were me, I would have only one test project for stress tests, and then one project to check the results in a few hours. Having synchronous does not look like you are buying a big profit, except to provide preconditions before testing the results, which can be processed in other ways.
Rob a source share