public void FilteredReportIsExported() { // disabling stripEngineCode will be reported as a ProjectSettings issue PlayerSettings.stripEngineCode = false; var projectAuditor = new Unity.ProjectAuditor.Editor.ProjectAuditor(); var projectReport = projectAuditor.Audit(); const string path = "ProjectAuditor_Report.csv"; // let's assume we are only interested in exporting project settings projectReport.ExportToCSV(path, issue => issue.category == IssueCategory.ProjectSettings); Assert.True(File.Exists(path)); using (var file = new StreamReader(path)) { var line = file.ReadLine(); Assert.True(line.Equals(ProjectReport.HeaderForCSV())); while (file.Peek() >= 0) { line = file.ReadLine(); Assert.True(line.StartsWith(IssueCategory.ProjectSettings.ToString())); } } }
public void ReportIsExportedAndFormatted() { // disabling stripEngineCode will be reported as a ProjectSettings issue PlayerSettings.stripEngineCode = false; var config = ScriptableObject.CreateInstance <ProjectAuditorConfig>(); config.AnalyzeEditorCode = false; var projectAuditor = new Unity.ProjectAuditor.Editor.ProjectAuditor(config); var projectReport = projectAuditor.Audit(); const string path = "ProjectAuditor_Report.csv"; projectReport.ExportToCSV(path); Assert.True(File.Exists(path)); var settingsIssue = projectReport.GetIssues(IssueCategory.ProjectSettings) .First(i => i.descriptor.method.Equals("stripEngineCode")); var scriptIssue = projectReport.GetIssues(IssueCategory.Code) .First(i => i.relativePath.Equals(m_TempAsset.relativePath)); var settingsIssueFound = false; var scriptIssueFound = false; using (var file = new StreamReader(path)) { var line = file.ReadLine(); Assert.True(line.Equals(ProjectReport.HeaderForCSV())); var expectedSettingsIssueLine = ProjectReport.FormatIssueForCSV(settingsIssue); var expectedScriptIssueLine = ProjectReport.FormatIssueForCSV(scriptIssue); while (file.Peek() >= 0) { line = file.ReadLine(); if (line.Equals(expectedSettingsIssueLine)) { settingsIssueFound = true; } if (line.Equals(expectedScriptIssueLine)) { scriptIssueFound = true; } } } Assert.True(settingsIssueFound); Assert.True(scriptIssueFound); }