public void ShouldResolveProjectsAndLogAllErrorsThatOccur() { //GIVEN var id1 = Any.ProjectId(); var id2 = Any.ProjectId(); var id3 = Any.ProjectId(); var referencedProjectsIds = new[] { id1, id2, id3 }; var support = Substitute.For <INScanSupport>(); var exceptionFromResolution = Any.Instance <ReferencedProjectNotFoundInSolutionException>(); var projects = new ReferencedProjects(referencedProjectsIds, support); var solution = Substitute.For <ISolutionContext>(); var project = Any.Instance <IReferencingProject>(); solution.When(ResolvingReferencesFrom(project, id2)).Throw(exceptionFromResolution); //WHEN projects.ResolveFrom(project, solution); //THEN solution.Received(1).ResolveReferenceFrom(project, id1); solution.Received(1).ResolveReferenceFrom(project, id2); solution.Received(1).ResolveReferenceFrom(project, id3); support.Received(1).Report(exceptionFromResolution); }