1.TQL_Part表
1.1問題1
下面是項目中的代碼:
/**//// <summary>
/// 根據taskid,獲得對應的Part記錄
/// </summary>
/// <param name="taskId"></param>
/// <returns></returns>
public WYEng.Model.TQL_Part GetPaperPart(int taskId)
...{
SqlParameter[] parm = new SqlParameter[1];
parm[0] = new SqlParameter(PARM_TASKID, SqlDbType.Int);
parm[0].Value = taskId;
WYEng.Model.TQL_Part part = new WYEng.Model.TQL_Part();
using (SqlDataReader rdr = XPWY.DBUtility.DBHelperSQL.ExecuteReader(SQL_SELECT_PART, parm))
...{
while (rdr.Read())
...{
part.PartCode = rdr.GetString(0);
part.SetCode = rdr.GetString(1);
part.SubjectId = rdr.GetInt32(2);
part.DisplayOrder = rdr.GetInt32(3);
part.Description = rdr.GetString(4);
}
}
return part;
}
寫測試用例如下:
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)
修正后,運行后的狀態條為綠色。
文章來源于領測軟件測試網 http://www.kjueaiud.com/