¿Hay alguna manera de probar un método asíncrono?

Estoy usando Xunit y NMock en la plataforma .NET. Estoy probando un modelo de presentación donde un método es asíncrono. El método crea una tarea asíncrona y la ejecuta, por lo que el método vuelve inmediatamente y el estado que necesito verificar todavía no está listo.

Puedo establecer una bandera al finalizar sin modificar el SUT, pero eso significaría que tendría que seguir revisando la bandera en un bucle while, por ejemplo, quizás con un tiempo de espera.

¿Cuáles son mis opciones?

Respuestas a la pregunta(4)

Su respuesta a la pregunta