public string Build(MSpecTestRunner.Run run)
 {
     return new[]
            {
                TimeInfo(run),
                Filters(run),
                XmlReport(run),
                Assemblies(run)
            }
         .SelectMany(x => x)
         .Aggregate((acc, curr) => acc + " " + curr);
 }
        static TestRunInfo FindRunInfo(MSpecTestRunner.Run run, Assembly assembly)
        {
            var runInfo = run.RunInfos
                .FirstOrDefault(x => StringComparer.Ordinal.Equals(x.Assembly, assembly.AssemblyLocation));

            if (runInfo == null)
            {
                Debug.WriteError("Could not match reported assembly {0} to any of the tested assemblies", assembly.AssemblyLocation);
            }

            return runInfo;
        }
        public void SetUp()
        {
            _configuration = MockRepository.GenerateMock<IConfiguration>();
            _assemblyReader = MockRepository.GenerateMock<IAssemblyReader>();
            _fileSystem = MockRepository.GenerateStub<IFileSystemService>();
            _externalProcess = MockRepository.GenerateStub<IExternalProcess>();
            _commandLineBuilder = MockRepository.GenerateStub<IMSpecCommandLineBuilder>();

            _runner = new MSpecTestRunner(_assemblyReader,
                                          _configuration,
                                          _fileSystem,
                                          _externalProcess,
                                          _commandLineBuilder);
        }
示例#4
0
        public void SetUp()
        {
            _configuration      = MockRepository.GenerateMock <IConfiguration>();
            _assemblyReader     = MockRepository.GenerateMock <AutoTest.TestRunners.Shared.AssemblyAnalysis.IAssemblyPropertyReader>();
            _fileSystem         = MockRepository.GenerateStub <IFileSystemService>();
            _externalProcess    = MockRepository.GenerateStub <IExternalProcess>();
            _commandLineBuilder = MockRepository.GenerateStub <IMSpecCommandLineBuilder>();

            _runner = new MSpecTestRunner(_assemblyReader,
                                          _configuration,
                                          _fileSystem,
                                          _externalProcess,
                                          _commandLineBuilder);
        }
        IEnumerable<string> Filters(MSpecTestRunner.Run run)
        {
            var filters = CreateFilterFile(run.RunInfos);

            if (filters == null)
            {
                yield break;
            }

            run.RegisterCleanup(() =>
                {
                    if (_fileSystem.FileExists(filters))
                    {
                        File.Delete(filters);
                    }
                });

            yield return String.Format("--filter \"{0}\"", filters);
        }
        IEnumerable<string> XmlReport(MSpecTestRunner.Run run)
        {
            var report = Path.GetTempFileName();

            run.RegisterResultHarvester(()=>
                {
                    var parser = new MSpecReportParser(report, run);
                    return parser.Parse();
                });

            run.RegisterCleanup(() =>
                {
                    if (_fileSystem.FileExists(report))
                    {
                        File.Delete(report);
                    }
                });

            yield return String.Format("--xml \"{0}\"", report);
        }
 IEnumerable<string> TimeInfo(MSpecTestRunner.Run run)
 {
     yield return String.Format("--timeinfo");
 }
 static IEnumerable<string> Assemblies(MSpecTestRunner.Run run)
 {
     return run.RunInfos
         .Select(x => x.Assembly)
         .Distinct()
         .Select(x => "\"" + x + "\"");
 } 
 public MSpecReportParser(string reportFile, MSpecTestRunner.Run run)
 {
     _reportFile = reportFile;
     _run = run;
 }