(第三周)单元测试

此作业要求https://edu.cnblogs.com/campus/nenu/2018fall/homework/2146

 git地址: https://git.coding.net/gongylx/f4.git

单元测试代码详见上述git地址中的Test_f4.cs

结对伙伴:刘佳瑞

集成环境:Visual Studio 2017 

编程语言:C#

测试框架:NUnit3

要求1:对每个功能,先给出测试用例,然后再编码功能。请注意把测试用例视为功能需求完成的检验指标

1.测试生成数字

TestRandNumber()

   因为四则运算中的数字我们不想要过大的数字,所以我们程序中设计的是1-20的正整数。以上测试代码测试的是我们产生的随机数是否为1-20的正整数,测试不通过。

2.测试答案是否产生无限小数

    TestLD()

由于我们不希望四则运算相除后产生无限小数,所以我们设计了只能使除数被2的n次方和5的n次方整除。以上测试代码测试了除数是否只能被2和5整除,测试通过。

3.测试运算符是否只包含加减乘除

由于我们要做的是含有加减乘除的四则运算。以上代码测试了输入的运算符是否为加减乘除,测试通过。

4.简单测试是否表达式可以正确运算

由于我们需要测试我们所涉及的代码是否能成功的准确计算答案,所以我们先计算一个简单的表达式1+1是否等于2。测试通过。

5.测试包含括号的表达式是否可以正确运算

由于我们需要测试我们所涉及的代码是否能成功的准确计算答案,所以我们采用以上测试代码测试(1+2)*(3+5)的答案是否为24。测试通过。

 

要求2:在博客报告测试用例全部fail 到 全部pass 的过程,报告事实 (fail到修改代码或者测试用例,到pass) 以及收获

第一次测试:

fail1:

 public void TestRandNumber()
        {
            int i = t.RandNumber();
            if (i > 0 & i < 20)
                Assert.Pass();
            else
                Assert.Fail();
        }

测试用例中要求我们的表达式随机生成数字在0到20之间,但是程序中写的是随机生成100以内的数字,这里的bug需要在生成数字的方法里进行修改。

public int RandNumber()//生成一个0到100的数
        {
            Random rn = new Random();
            return rn.Next(100);
        }

这个地方利用Next()方法将里面的100改成20,则生成的数字就在测试用例范围内了。测试通过。

第二次测试:

猜你喜欢

转载自www.cnblogs.com/gongylx/p/9756141.html