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 void RunDotNetFrameworkImplementation() { var runAllBatchFileLocation = Utilities.GetAssemblyDirectory + "\\runall.bat"; var runTestsBatchFileLocation = Utilities.GetAssemblyDirectory + "\\runtests.bat"; LogMessages.Add(LogMessage.Log($"Generating runtests.bat file to: {runTestsBatchFileLocation}", LogMessage.LogType.Info)); BatchFileHelper.CreateRunTestsBatchFile(TestProjects.Where(a => a.IsSelected), runTestsBatchFileLocation); LogMessages.Add(LogMessage.Log("Generated runtests.bat", LogMessage.LogType.Success)); LogMessages.Add(LogMessage.Log($"Generating runall.bat to: {runAllBatchFileLocation}", LogMessage.LogType.Info)); BatchFileHelper.CreateRunAllBatchFile(AssemblyProjects.Where(a => a.IsSelected), runAllBatchFileLocation); LogMessages.Add(LogMessage.Log("Generated runall.bat", LogMessage.LogType.Success)); BatchFileHelper.RunBatchFile(runAllBatchFileLocation); LogMessages.Add(LogMessage.Log("Successfully ran main batch file", LogMessage.LogType.Success)); }
private bool CanRunCodeCover() { return(TestProjects.Any(t => t.IsSelected) && AssemblyProjects.Any(a => a.IsSelected)); }