示例#1
0
        private TaskResult Execute(NUnitExecuteParameters data)
        {
            StringBuilder arguments = new StringBuilder();
            string        tool      = data.Path.Resolve();

            if (data.XmlResult != null)
            {
                arguments.Append("/xml:");
                arguments.Append(data.XmlResult.Execute().Single().Quote());
                arguments.Append(" ");
            }

            foreach (string assembly in data.Assemblies.Execute())
            {
                arguments.Append(assembly.Quote());
                arguments.Append(" ");
            }

            ProcessStartInfo info = new ProcessStartInfo
            {
                FileName         = tool,
                WorkingDirectory = Container.Storage.Local.Path,
                Arguments        = arguments.ToString().TrimEnd()
            };

            if (Container.Shell.Start(info) != 0)
            {
                return(TaskResult.Unsuccessful);
            }

            return(TaskResult.Successful);
        }
示例#2
0
        public ITask Execute(Action <NUnitExecuteParameters> parameters)
        {
            return(new NUnitExecuteTask(() =>
            {
                NUnitExecuteParameters instance = new NUnitExecuteParameters
                {
                    Path = Bob.NUnit.Path.Package(),
                    Assemblies = Bob.FileSystem.Nothing()
                };

                parameters(instance);
                return instance;
            }));
        }