Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
 private bool CanRunCodeCover()
 {
     return(TestProjects.Any(t => t.IsSelected) && AssemblyProjects.Any(a => a.IsSelected));
 }