敏捷软件开发提出开发程序之前先要把你想要的结果想来,先编写好测试,在编写程序,程序的功能只是满足测试的要求,现在国内还没有太重视这一点,不过大中型项目必须要有测试,测试时保证软件质量的依据。
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");
}
必须要抛出一个异常才通过。