单元测试中的问题和解决方案
作者:网络转载 发布时间:[ 2011/8/19 12:04:02 ] 推荐标签:
写测试用例如下:
using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;
using WYEng.SQLServerDAL;
namespace WYEng.TestUnit
…{
[TestFixture]
public class TQL_Part
…{
SQLServerDAL.TQL_Part part;
WYEng.Model.TQL_Part p;
[SetUp]
public void CreateObject()
…{
part = new WYEng.SQLServerDAL.TQL_Part();
p=new WYEng.Model.TQL_Part();
}
[TearDown]
public void DeleteObject()
…{
part = null;
p=null;
}
[Test]
public void GetPaperPart()
…{
//输入TaskId的值,然后可以获取其Part所有信息
p = part.GetPaperPart(1); //正常情况
Assert.AreEqual(p.PartCode, "6666");
}
}
}运行Nunit,状态条为红色,经检查发现原因是
model层中的TQL_PArt的description下的代码段有问题
if (value != null && value.Length > 50)
throw new ArgumentOutOfRangeException("Invalid value for Description", value, value.ToString());
数据库中description的字段为Varchar(500),而这里只为50,现在更正为 if (value != null && value.Length > 50)
修正后,运行后的状态条为绿色。

sales@spasvo.com