public void CanOverrideCause(FailureCause cause) { var failed = new _TestFailed { Cause = cause }; Assert.Equal(cause, failed.Cause); }
/// <inheritdoc/> public bool OnMessage(_MessageSinkMessage message) { Guard.ArgumentNotNull(nameof(message), message); if (message is _TestSkipped testSkipped) { var testFailed = new _TestFailed { AssemblyUniqueID = testSkipped.AssemblyUniqueID, ExceptionParentIndices = new[] { -1 }, ExceptionTypes = new[] { "FAIL_SKIP" }, ExecutionTime = 0m, Messages = new[] { testSkipped.Reason }, Output = "", StackTraces = new[] { "" }, TestCaseUniqueID = testSkipped.TestCaseUniqueID, TestClassUniqueID = testSkipped.TestClassUniqueID, TestCollectionUniqueID = testSkipped.TestCollectionUniqueID, TestMethodUniqueID = testSkipped.TestMethodUniqueID, TestUniqueID = testSkipped.TestUniqueID }; return(innerSink.OnMessage(testFailed)); } // TODO: Shouldn't there be conversions of all the finished messages up the stack, to rectify the counts? if (message is _TestCollectionFinished testCollectionFinished) { testCollectionFinished = new _TestCollectionFinished { AssemblyUniqueID = testCollectionFinished.AssemblyUniqueID, ExecutionTime = testCollectionFinished.ExecutionTime, TestCollectionUniqueID = testCollectionFinished.TestCollectionUniqueID, TestsFailed = testCollectionFinished.TestsFailed + testCollectionFinished.TestsSkipped, TestsRun = testCollectionFinished.TestsRun, TestsSkipped = 0 }; return(innerSink.OnMessage(testCollectionFinished)); } if (message is _TestAssemblyFinished assemblyFinished) { assemblyFinished = new _TestAssemblyFinished { AssemblyUniqueID = assemblyFinished.AssemblyUniqueID, ExecutionTime = assemblyFinished.ExecutionTime, TestsFailed = assemblyFinished.TestsFailed + assemblyFinished.TestsSkipped, TestsRun = assemblyFinished.TestsRun, TestsSkipped = 0 }; return(innerSink.OnMessage(assemblyFinished)); } return(innerSink.OnMessage(message)); }
internal TestFailedWithDisplayName( _TestFailed testFailed, string testDisplayName) { AssemblyUniqueID = testFailed.AssemblyUniqueID; Cause = testFailed.Cause; ExceptionParentIndices = testFailed.ExceptionParentIndices; ExceptionTypes = testFailed.ExceptionTypes; ExecutionTime = testFailed.ExecutionTime; Messages = testFailed.Messages; Output = testFailed.Output; StackTraces = testFailed.StackTraces; TestCaseUniqueID = testFailed.TestCaseUniqueID; TestClassUniqueID = testFailed.TestClassUniqueID; TestCollectionUniqueID = testFailed.TestCollectionUniqueID; TestDisplayName = testDisplayName; TestMethodUniqueID = testFailed.TestMethodUniqueID; TestUniqueID = testFailed.TestUniqueID; }
/// <summary/> public static RunSummary FailTestCases( IReadOnlyCollection <_ITestCase> testCases, IMessageBus messageBus, string messageFormat) { var result = new RunSummary(); foreach (var testCase in testCases) { var assemblyUniqueID = testCase.TestCollection.TestAssembly.UniqueID; var testUniqueID = UniqueIDGenerator.ForTest(testCase.UniqueID, -1); var caseStarting = new _TestCaseStarting { AssemblyUniqueID = assemblyUniqueID, SkipReason = testCase.SkipReason, SourceFilePath = testCase.SourceFilePath, SourceLineNumber = testCase.SourceLineNumber, TestCaseDisplayName = testCase.TestCaseDisplayName, TestCaseUniqueID = testCase.UniqueID, TestClassName = testCase.TestClassName, TestClassNamespace = testCase.TestClassNamespace, TestClassNameWithNamespace = testCase.TestClassNameWithNamespace, TestClassUniqueID = testCase.TestClass?.UniqueID, TestCollectionUniqueID = testCase.TestCollection.UniqueID, TestMethodName = testCase.TestMethod?.Method.Name, TestMethodUniqueID = testCase.TestMethod?.UniqueID, Traits = testCase.Traits }; messageBus.QueueMessage(caseStarting); var testStarting = new _TestStarting { AssemblyUniqueID = assemblyUniqueID, TestCaseUniqueID = testCase.UniqueID, TestClassUniqueID = testCase.TestClass?.UniqueID, TestCollectionUniqueID = testCase.TestCollection.UniqueID, TestDisplayName = testCase.TestCaseDisplayName, TestMethodUniqueID = testCase.TestMethod?.UniqueID, TestUniqueID = testUniqueID }; messageBus.QueueMessage(testStarting); var failed = new _TestFailed { AssemblyUniqueID = assemblyUniqueID, Cause = FailureCause.Exception, ExceptionParentIndices = new[] { -1 }, ExceptionTypes = new string?[] { null }, ExecutionTime = 0m, Messages = new[] { string.Format(messageFormat, testCase.TestCaseDisplayName) }, Output = string.Empty, StackTraces = new string?[] { null }, TestCaseUniqueID = testCase.UniqueID, TestClassUniqueID = testCase.TestClass?.UniqueID, TestCollectionUniqueID = testCase.TestCollection.UniqueID, TestMethodUniqueID = testCase.TestMethod?.UniqueID, TestUniqueID = testUniqueID }; messageBus.QueueMessage(failed); var testFinished = new _TestFinished { AssemblyUniqueID = assemblyUniqueID, ExecutionTime = 0m, Output = string.Empty, TestCaseUniqueID = testCase.UniqueID, TestClassUniqueID = testCase.TestClass?.UniqueID, TestCollectionUniqueID = testCase.TestCollection.UniqueID, TestMethodUniqueID = testCase.TestMethod?.UniqueID, TestUniqueID = testUniqueID }; messageBus.QueueMessage(testFinished); var caseFinished = new _TestCaseFinished { AssemblyUniqueID = assemblyUniqueID, ExecutionTime = 0m, TestCaseUniqueID = testCase.UniqueID, TestClassUniqueID = testCase.TestClass?.UniqueID, TestCollectionUniqueID = testCase.TestCollection.UniqueID, TestMethodUniqueID = testCase.TestMethod?.UniqueID, TestsFailed = 1, TestsRun = 1, TestsSkipped = 0 }; messageBus.QueueMessage(caseFinished); result.Total++; result.Failed++; } return(result); }
public void DefaultFailureCauseIsException() { var failed = new _TestFailed(); Assert.Equal(FailureCause.Exception, failed.Cause); }