Jestem początkującym w testowaniu jednostkowym. Jak sprawdzić wyjście konsoli? mamPomoc przy testowaniu jednostki. Jak przetestować wyjście komunikatu na konsolę?
namespace XXShapes
{
public abstract class XXShape
{
public virtual void DrawXXShape()
{
Console.WriteLine("The XXShape was drawn.");
}
}
public class XXCircle : XXShape
{
public override void DrawXXShape()
{
Console.WriteLine("The XXCircle was drawn.");
}
}
}
namespace XXShapes.Test
{
[TestFixture]
public class XXShapeTest
{
[Test]
public void MyFirstTest()
{
XXShape s = new XXCircle();
string expected = "The XXCircle was drawn.";
s.DrawXXShape();
string actual = Console.ReadLine();
Assert.AreEqual(expected, actual);
}
}
}
Jak należy prawidłowo testować to? Dzięki za wszelkie wskazówki. Pozdrowienia, ~ ck
To Assert to właśnie testowanie metody produceXxCircle(), a nie metoda wywoływania. –
Rzeczywiście, ale co chcesz przetestować? Jeśli Console.WriteLine poprawnie wypisuje łańcuchy do konsoli? Nie powinieneś tego testować, ponieważ Console.WriteLine nie jest twoim kodem. To część struktury –
Tak, oryginalny kod podany próbuje wykonać dość pusty test - wywołanie 's.DrawXXShape();', a następnie sprawdzanie, czy została wywołana metoda 'DrawXXShape'. Ale przynajmniej zaczyna się od testowania. –