Soy un novato en pruebas unitarias. ¿Cómo verifico el resultado de la consola? tengoAyuda de prueba unitaria. ¿Cómo pruebo la salida de un mensaje a la consola?
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);
}
}
}
¿Cómo debería ser correctamente probando esto? Gracias por cualquier punteros. Cheers, ~ ck
That Assert solo está probando el método produceXxCircle(), no es que se haya llamado al método draw. –
De hecho, pero ¿qué quieres probar? Si Console.WriteLine está enviando cadenas correctamente a la consola? No debe probar esto, ya que Console.WriteLine no es su código. Es parte del framework –
Sí, el código original tal como está dado trata de realizar una prueba bastante vacía - llamando 's.DrawXXShape();' y luego verificando que se haya llamado al método 'DrawXXShape'. Pero al menos está empezando a probar. –