无法在控制台上打印.写下测试方法
本文关键字:测试方法 打印 控制台 | 更新日期: 2023-09-27 18:10:04
有人知道为什么这个从来没有打印出来吗?我可能忽略了一些简单的东西,但由于某种原因,我不能在测试方法中打印任何东西,既不是这个也不是控制台。
是否有任何方法可以在测试方法中打印任何东西?
[TestMethod]
public void TestMethodAddUser()
{
int [] resul = new int[1];
resultado = gestor.addUser("El Pelucas", "12345", "elpelucassabe@gmail.com");
Console.WriteLine(resul[1].ToString());
try
{
if (resul[1] > 0)
{
switch (resul[1])
{
case -1:
Console.WriteLine("Username taken.");
break;
case -2:
Console.WriteLine("Email address taken.");
break;
}
Console.WriteLine("User added.");
Assert.IsTrue(true);
}
}
catch (Exception ex)
{
Assert.Fail(ex.ToString());
}
}
您的switch case将永远不会执行,因为它们是负的,而您将if条件为true为正。并将value赋给result [1]
编辑为:
int input;
if (!int.TryParse(Console.ReadLine(), out input);
{
Console.WriteLine("Invalid number");
}
else
{
resul[1] = input;
}
if (resul[1] > 0) //use resul[1]<1 for negative switch case
{
switch (resul[1])
{
case 1:
Console.WriteLine("Username taken.");
break;
case 2:
Console.WriteLine("Email address taken.");
break;
}
Console.WriteLine("User added.");
Assert.IsTrue(true);
}
编辑:Harshit Shrivastava说对了,你已经在长度1上声明了数组,但是你在第二个索引上赋值。将result[1]替换为result [0]
您的代码有多个问题。
- 你没有给你的数组赋值
- 你已经创建了一个包含1个元素的数组&您正在尝试使用数组 的第二个元素您使用了错误的case条件。
运行这个
public void TestMethodAddUser()
{
int[] resul = new int[1];
resul[0] = 1;
Console.WriteLine(resul[0].ToString());
try
{
if (resul[0] > 0)
{
switch (resul[0])
{
case 1:
Console.WriteLine("Username taken.");
break;
case 2:
Console.WriteLine("Email address taken.");
break;
}
Console.WriteLine("User added.");
}
}
catch (Exception ex)
{
}
}