Nunit测试--------学习笔记第一节

来源:互联网 发布:php网站二次开发 编辑:程序博客网 时间:2024/05/19 13:06
 学习目的:

敏捷软件开发提出开发程序之前先要把你想要的结果想来,先编写好测试,在编写程序,程序的功能只是满足测试的要求,现在国内还没有太重视这一点,不过大中型项目必须要有测试,测试时保证软件质量的依据。

Nunit下载地址:www.UNuit.org

[TestFixture]//每个需要进行测试的类都需要声明

 [TestFixtureSetUp]//测试运行初始化,只执行一次

[TestFixtureTearDown]//该类全部方法测试完毕是调用

 [SetUp]//测试方法初始化,每个测试方法运行前都要运行

   [TearDown]//每次测试方法运行后都要进行

 [Test]//声明为需要测试的方法

   [Ignore("Multiplication is ignored忽略sss")]//忽略改测试方法,Nunit测试结果为黄色,一般用于为完整代码进行忽略

 [Ignore("Multiplication is ignored忽略sss")]//忽略改测试方法,Nunit测试结果为黄色,一般用于为完整代码进行忽略

 [TestCase(false)]//测试用例

 [TestCase(true)]

[TestCase(12,Result=24)]//参数和返回值

        public int TestResult(int a){

            return a * 2;

         }

[Test,Combinatorial]//组合测试,全部可能的组合都被执行一次

在。Net里编写下代码:一个简单的加减乘除算法

    public class Canlen

    {

        public int Add(int a, int b)

        {

            return a + b;

        }

        public int jian(int a, int b)

        {

            return a - b;

        }

        public int cheng(int a, int b)

        {

            return a * b;

        }

        public int chu(int a, int b)

        {

            return a / b;

        }

}

要测试这些函数正确

[TestFixture]//自动加载

    public class CalenTest

    {

        [Test]

        public void TestAdd()

        {

            Canlen cal = new Canlen();

            int calll = cal.Add(1, 3);

            Assert.AreEqual(4, calll);

        }

}

其中除数不能为零没有体现出来所以在编一个

       [Test]

        [ExpectedException(typeof(DivideByZeroException))]

        public void TestchuZero()

        {

            Canlen cal = new Canlen();

            int call = cal.chu(6, 0);

            Assert.Fail("Eorror");

        }

必须要抛出一个异常才通过。