• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 軟件單元測試中的問題和解決方案

    發表于:2009-04-09來源:作者:點擊數: 標簽:單元方案軟件
    利用 單元測試 ,我們可以找出很多意想不到的問題,在 Nunit 對項目進行單元測試 過程中就查找出了很多隱藏的問題,下面是單元測試中遇到的問題與 解決方案 : 1.TQL_Part表 1.1問題1 下面是項目中的代碼: /**//// summary /// 根據taskid,獲得對應的Part記
    利用單元測試,我們可以找出很多意想不到的問題,在Nunit對項目進行單元測試 過程中就查找出了很多隱藏的問題,下面是單元測試中遇到的問題與解決方案

    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

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>