私はユニットテストの初心者です。コンソールの出力を確認するにはどうしたらいいですか? 私は単体テストヘルプ。コンソールへのメッセージ出力をテストするにはどうすればよいですか?
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は、drawメソッドが呼び出されたのではなく、produceXxCircle()メソッドをテストするだけです。 –
確かに、何をテストしたいですか? Console.WriteLineがコンソールに文字列を正しく出力していれば? Console.WriteLineはあなたのコードではないので、これをテストすべきではありません。フレームワークの一部です –
ええ、元のコードは 's.DrawXXShape();'を呼び出し、 'DrawXXShape'メソッドが呼び出されたことを確認して、かなり空のテストを実行しようとしています。しかし、少なくともそれはテストを開始しています。 –