I like the idea of acceptance testing.
I'm already using TDD for unit testing (C# code using nUnit framework)
But I have problem to do Acceptance Tests (using fitnesse) because our system is asynchronous.
We develop a VCS (Voice Communication System) application and it's based mostly of request - reply communication.
It's not like all synchronous examples I've seen
like Assert.AreEqual(4, calc.Add(2, 2))
but I have something like System.MakeCall("123456")
and after some time I want to verify that call with number "123456" is built and it's in ringing state.
In unit testing, I separate layers, using mock and testing the class in isolation.
But for acceptance test I think I have to test business value of the system end-to-end (no fakes, mocks), right?
What are the best practices to test asynchronous stuff?