• <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-4-09 10:45 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 44次 | 進入軟件測試論壇討論

    領測軟件測試網 利用單元測試,我們可以找出很多意想不到的問題,在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/

    TAG: 單元 方案 軟件


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品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>