public void ShouldThrowExceptionIfTestsFailed()
        {
            executorMock.ExpectAndReturn("Execute", ProcessResultFixture.CreateNonZeroExitCodeResult(), new object[] { new IsAnything() });

            task = new NUnitTask((ProcessExecutor)executorMock.MockInstance);
            Assert.That(delegate { task.Run(result); },
                        Throws.TypeOf <CruiseControlException>());
        }
        public void ShouldThrowExceptionIfTestsFailed()
        {
            executorMock.Setup(executor => executor.Execute(It.IsAny <ProcessInfo>())).Returns(ProcessResultFixture.CreateNonZeroExitCodeResult()).Verifiable();

            task = new NUnitTask((ProcessExecutor)executorMock.Object);
            Assert.That(delegate { task.Run(result); },
                        Throws.TypeOf <CruiseControlException>());
        }
        public void ExecuteNUnitConsoleAndRetrieveResultsFromFile()
        {
            string      args = string.Format(@"/xml={0} /nologo foo.dll", GeneratePath("{0}", task.OutputFile));
            ProcessInfo info = new ProcessInfo(NUnitConsolePath, args, WORKING_DIRECTORY);

            info.TimeOut = NUnitTask.DefaultTimeout * 1000;
            executorMock.ExpectAndReturn("Execute", new ProcessResult("", String.Empty, 0, false), new object[] { info });

            task.Run(result);

            Assert.AreEqual("foo", result.TaskOutput);
            executorMock.Verify();
        }
        public void HandleNUnitTaskFailure()
        {
            CreateProcessExecutorMock(NUnitTask.DefaultPath);
            ExpectToExecuteAndReturn(SuccessfulProcessResult());
            IIntegrationResult result = IntegrationResult();

            result.ArtifactDirectory = Path.GetTempPath();

            task            = new NUnitTask((ProcessExecutor)mockProcessExecutor.Object);
            task.Assemblies = new string[] { "foo.dll" };
            task.Run(result);

            Assert.AreEqual(1, result.TaskResults.Count);
            Assert.That(result.TaskOutput, Is.Empty);
            Verify();
        }