Ich bin ein Verfahren zu NUnit-Test versucht, wo ich zu behaupten, dass ich die richtige Ausgabe bekommen, aber das Problem ist, jedes Mal, wenn der Code in springt:NunitTest ein console
Console.SetCursorPosition (xOffset , yOffset ++);
Und appearently können Sie nicht SetCursorPosition umleiten, Also meine Frage ist: .. "ist es trotzdem kann ich Unit-Test diese Methode angemessen"
public void Execute()
{
int xOffset = 84;
int yOffset = 3;
Console.SetCursorPosition(xOffset, yOffset++);
Console.WriteLine("Events");
string header = "| LogType | Message | tagCollection | Time |";
Console.SetCursorPosition(xOffset, yOffset++);
Console.WriteLine(header);
Console.SetCursorPosition(xOffset, yOffset++);
Console.WriteLine(new string('-', header.Length));
if (!string.IsNullOrWhiteSpace(Status))
{
Console.SetCursorPosition(xOffset, yOffset++);
Console.WriteLine(Status);
}
foreach (string str in NotificationList)
{
Console.SetCursorPosition(xOffset, yOffset++);
Console.WriteLine(str);
}
}
Hier ist mein Test:
[Test]
public void NotificationDisplayer_inputTestString_ExpectedResult()
{
using (StringWriter sw = new StringWriter())
{
Console.SetOut(sw);
uutNotificationDisplayer.Execute();
Assert.That(sw.ToString()), Is.EqualTo(expectedResult));
}
}
warum nicht einfach eine falsche Methode von diesem machen und den Offset-Wert für y ändern? Genau das versuchen Sie hier in Ihrem Test. Mehr als das, könntest du uns bitte auch deinen Unit Test geben !! –