Skip to content

Commit 82660ca

Browse files
mharwigMartin Harwig
and
Martin Harwig
authoredDec 5, 2022
Send message as warning in case of error stream, informational otherwise (#1037) (#1038)
* Send message as warning in case of error stream, informational otherwise (#1037) * Moved TestOutput unit test to separate region (#1037) Co-authored-by: Martin Harwig <[email protected]>
1 parent cd91fba commit 82660ca

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed
 

‎src/NUnitTestAdapter/NUnitEventListener.cs

+5-1
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,11 @@ public void TestOutput(INUnitTestEventTestOutput outputNodeEvent)
239239
outputNodes.Add(outputNodeEvent);
240240
}
241241

242-
recorder.SendMessage(TestMessageLevel.Warning, text);
242+
var testMessageLevel = outputNodeEvent.IsErrorStream
243+
? TestMessageLevel.Warning
244+
: TestMessageLevel.Informational;
245+
246+
recorder.SendMessage(testMessageLevel, text);
243247
}
244248
}
245249
}

‎src/NUnitTestAdapterTests/NUnitEventListenerTests.cs

+20
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ public void TestFinished_CallsRecordResultCorrectly()
139139
VerifyTestResult(testLog.Events[1].TestResult);
140140
}
141141

142+
142143
// [TestCase(ResultState.Success, TestOutcome.Passed, null)]
143144
// [TestCase(ResultState.Failure, TestOutcome.Failed, "My failure message")]
144145
// [TestCase(ResultState.Error, TestOutcome.Failed, "Error!")]
@@ -166,6 +167,25 @@ public void TestFinished_CallsRecordResultCorrectly()
166167

167168
#endregion
168169

170+
#region TestOutput Tests
171+
172+
[TestCase(NUnitTestEventTestOutput.Streams.Error, TestMessageLevel.Warning, TestName = "TestOutput with 'Error' stream is send as message level Warning")]
173+
[TestCase(NUnitTestEventTestOutput.Streams.Progress, TestMessageLevel.Informational, TestName = "TestOutput with 'Progress' stream is send as message level Informational")]
174+
[TestCase(NUnitTestEventTestOutput.Streams.NoIdea, TestMessageLevel.Informational, TestName = "TestOutput with 'NoIdea' stream is send as message level Informational")]
175+
public void TestOutput_SendsMessageWithCorrectMessageLevel(NUnitTestEventTestOutput.Streams streamType, TestMessageLevel expectedTestMessageLevel)
176+
{
177+
var outPutXml = @$"<test-output stream='{streamType}' testid='0-1001' testname='Something.TestClass.SomeTest'><![CDATA[SomeData]]></test-output>";
178+
var testOutput = new NUnitTestEventTestOutput(XmlHelper.CreateXmlNode(outPutXml));
179+
180+
listener.TestOutput(testOutput);
181+
Assume.That(testLog.Events.Count, Is.EqualTo(1));
182+
Assume.That(testLog.Events[0].EventType, Is.EqualTo(FakeFrameworkHandle.EventType.SendMessage));
183+
184+
Assert.That(testLog.Events[0].Message.Level, Is.EqualTo(expectedTestMessageLevel));
185+
}
186+
187+
#endregion
188+
169189
#region Listener Lifetime Tests
170190
#if NET35
171191
[Test]

0 commit comments

Comments
 (0)
Please sign in to comment.