【发布时间】:2013-11-09 19:06:05
【问题描述】:
我正在 C# 控制台应用程序中编写程序,并且在某些方法中我有 Console.ReadLine() 和 Console.WriteLine()。我想知道如何在测试用例中提供输入。
例子:
Console.WriteLine("Enter account number: ");
accountNumber = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Enter name: ");
cStringName = Convert.ToString(Console.ReadLine());
name = cStringName;
Console.WriteLine("Enter balance: ");
balance = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Enter Date: ");
dateCreated = Convert.ToString(Console.ReadLine());
所以基本上该方法返回一个布尔值,说明是否创建了帐户。在我的测试用例中,我希望能够调用此方法,但为了执行它,我需要设置 accountNumber、name、balance 和 date。有没有办法做到这一点?或者只是向方法添加参数的最佳方法(我不想这样做)?
【问题讨论】:
-
为什么不添加参数?确定是否应该创建帐户的方法不应该知道也不关心数据来自哪里,因此不应该与命令行绑定。您提出测试策略时遇到的问题是一个明确的迹象。
标签: c# unit-testing console-application readline