поэтому у меня есть код
Task.Factory.StartNew(() => this.listener.Start()).ContinueWith(
(task) =>
{
if (task.IsCompleted)
{
this.status = WorkerStatus.Started;
this.RaiseStatusChanged();
this.LogInformationMessage("Worker Started.");
}
});
Когда я тестирую, я издеваюсь над всеми зависимыми объектами (namley this.listener.Start()). проблема в том, что тест заканчивается, прежде чем ContinueWith можно вызвать. Когда я отлаживаю его, он получает штраф из-за дополнительной задержки, когда я перехожу через код.
так как я могу - из тестового кода в другой сборке - убедиться, что код запущен до того, как мой тест попадает в его утверждения?
Я мог бы просто использовать Thread.Sleep... но это похоже на действительно хакерский способ сделать это.
Я думаю, что я ищу версию задачи Thread.Join.