protected void AssertBuildProjectThenRunTests(string projectPath, string projectName, string platform) { var(buildExitCode, buildOutputFile) = _fixture.BuildSolutionUwp(projectName, projectPath, platform); if (buildExitCode.Equals(0)) { var(testExitCode, testOutputFile) = _fixture.RunTests(projectName, projectPath); var summary = _fixture.GetTestSummary(testOutputFile); Assert.True( summary.Contains("Failed: 0.") || !summary.Contains("Failed"), $"Tests failed. {Environment.NewLine}{summary}{Environment.NewLine}Please see {Path.GetFullPath(buildOutputFile)} for more details."); } else { Assert.True(buildExitCode.Equals(0), $"Solution {projectName} was not built successfully. {Environment.NewLine}Errors found: {_fixture.GetErrorLines(buildOutputFile)}.{Environment.NewLine}Please see {Path.GetFullPath(buildOutputFile)} for more details."); } // Tidy up if all tests passed Fs.SafeDeleteDirectory(projectPath); }