private void RunOpenCover() { try { if (!TestProjects.Any(t => t.IsSelected)) { LogMessages.Add(LogMessage.Log("No selected projects found", LogMessage.LogType.Warning)); MessageBox.Show("Select the projects you want to run", "No projects selected", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (ProjectType == ProjectType.DotNetCore) { RunDotNetCoreImplementation(); } else { RunDotNetFrameworkImplementation(); } } catch (Exception e) { MessageBox.Show(e.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); LogMessages.Add(LogMessage.Log(e.Message, LogMessage.LogType.Error)); } }
private void LoadProjects() { try { ProjectType = FindProjectType(); LogMessages.Add(LogMessage.Log("Loading projects", LogMessage.LogType.Info)); TestProjects.Clear(); AssemblyProjects.Clear(); var projects = Common.Instance.Dte2Object.Solution.Projects; foreach (Project project in projects) { if (!project.Name.Contains(".Test")) { if (project.Name.StartsWith("BeagleStreet.")) { LogMessages.Add(LogMessage.Log($"Loaded test project {project.Name}", LogMessage.LogType.Success)); AssemblyProjects.Add(new LoadedProject { IsSelected = true, Name = project.Name }); } continue; } var filePath = ProjectType == ProjectType.DotNetCore ? $"{Path.GetDirectoryName(project.FileName)}\\{project.Name}.csproj" : $"{Path.GetDirectoryName(project.FileName)}\\bin\\debug\\{project.Name}.dll"; if (File.Exists(filePath)) { LogMessages.Add(LogMessage.Log($"Loaded test project {filePath}", LogMessage.LogType.Success)); TestProjects.Add(new LoadedProject { IsSelected = true, Name = project.Name, AssemblyFilePath = filePath }); } else { LogMessages.Add(LogMessage.Log($"Could not find the file {filePath}", LogMessage.LogType.Error)); } } LogMessages.Add(TestProjects.Any() ? LogMessage.Log($"Loaded {TestProjects.Count} test projects", LogMessage.LogType.Success) : LogMessage.Log("Could not test load projects, click reload projects to try again", LogMessage.LogType.Error)); } catch (Exception ex) { TestProjects.Clear(); LogMessages.Add(LogMessage.Log($"Failed to load the projects, click reload to try again. ** {ex.Message} **", LogMessage.LogType.Error)); } }
private bool CanRunCodeCover() { return(TestProjects.Any(t => t.IsSelected) && AssemblyProjects.Any(a => a.IsSelected)); }