帮我第一次测试

时间:2011-08-18 08:48:59

标签: c# c#-3.0

我创建了一个Hello World程序,我是C#的新手,我的程序会打印100个单词,如下所示

public static void Main(/*I forgot arguments*/)
{
   string []s=new string [100];
   foreach(string ss in s)
   {
      ss="Hello World";
      Console.WriteLine("{0}\n",ss);      
   }
}

您能否逐步向我展示如何为此计划创建测试?需要吗?我没有测试人员如何进行测试的图像。对不起,我很蠢。

我想我已经尽了最大努力,没有人发现我发现我不配得到任何帮助是不值得的?我不需要上课,因为我在事故发生后很久才忘记上课。

3 个答案:

答案 0 :(得分:1)

首先,你不能(或 - 你不应该)测试void方法。您正在测试方法的输出 - Main没有。第二个想法:你不能模拟(模拟)一个Console对象。阅读一些关于 mock mocking 的教程。

样本测试的样本方法可能与此类似:

public class SimpleCalculator
{
    public int SumTwoNumbers(int number1, int number2)
    {
        return number1 + number2;
    }
}

[TestClass]
public class TestClass
{
    [TestMethod]
    public void Test_SimpleCalculator_SumTwoNumbers_CorrectValues()
    {
        // Arrange
        SimpleCalculator calc = new SimpleCalculator();

        // Act
        int result = calc.SumTwoNumbers(5, 2);

        // Assert
        Assert.AreEqual(7, result);
    }
}

希望这有点帮助。

答案 1 :(得分:1)

为什么需要对此进行测试?你会测试什么?而不是如何测试代码,我会考虑如何使它更好。

看看下面的主页。

public static void Main(/*I forgot arguments*/)
{   
    for(var i = 0; i < 100; i++)   
    {      
        Console.WriteLine("Hello World");         
    }
}

注意,您不使用您创建的阵列,因此无需创建它。当您确切知道需要循环的次数时,请使用for循环。此外,如果您没有使用其他字符串对其进行格式化,则无法格式化字符串。

答案 2 :(得分:0)

将上面的代码刷新到一个方法,而不是将它放在main中。然后在这里参考一些单元测试用例文档(如果您正在寻找单元测试)http://www.nunit.org/index.php?p=quickStart&r=2.5.10