我是单元测试的新手。如何检查控制台输出? 我单元测试帮助。如何测试消息输出到控制台?
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);
}
}
}
我应该如何正确地进行测试呢? 谢谢你的指点。 干杯, 〜ck
Assert只是测试produceXxCircle()方法,而不是调用draw方法。 – 2009-08-17 07:15:15
确实,但你想测试什么?如果Console.WriteLine正确地向控制台输出字符串?你不应该测试这个,因为Console.WriteLine不是你的代码。它是框架的一部分 – 2009-08-17 07:19:22
是的,原来的代码正在尝试执行一个相当空的测试 - 调用's.DrawXXShape();'然后检查是否调用了'DrawXXShape'方法。但至少它正在开始测试。 – 2009-08-17 08:46:52