首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>软件工程>软件测试>如何使用NUnit进行并发测试?
如何使用NUnit进行并发测试?
来源: 发布时间:2008-03-15 发布人: 浏览: 人次   字体: [ ]  

下面的代码将演示如何使用NUnit进行并发测试,启动多线程插入多个数据,并在插入完数据后删除数据 

using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;
using WYEng.SQLServerDAL;
using System.Threading;
using System.Data;
using System.Data.SqlClient;

namespace WYEng.TestUnit
{
    [TestFixture]
    
public class ExamComputerInfo
    
{
        SQLServerDAL.ExamComputerInfo computerInfo;
        WYEng.Model.ExamComputerInfo mCompuerInfo;
        
private int j = 0;
        
private int computerID = 0;
        
private string PARAM_COMPUTERID = "@ComputerID";
        [SetUp]
        
public void CreateObject()
        
{
            computerInfo 
= new WYEng.SQLServerDAL.ExamComputerInfo();
            mCompuerInfo 
= new WYEng.Model.ExamComputerInfo();
            TestGetComputerID();
        }


        [TearDown]
        
public void DeleteObject()
        
{
            TestDeleteComputerInfo();
            computerInfo 
= null;
            mCompuerInfo 
= null;

        }

        
private void TestGetComputerID()
        
{
            computerID 
= XPWY.DBUtility.DBHelperSQL.GetMaxID("ComputerID""ExamComputerInfo");
        }

        
private void TestDeleteComputerInfo()
        
{
            Console.WriteLine(computerID.ToString());
            
string strSql = "DELETE FROM ExamComputerInfo WHERE ComputerID>=@ComputerID";
            SqlParameter pram 
= new SqlParameter(PARAM_COMPUTERID, SqlDbType.Int);
            pram.Value 
= computerID;
            XPWY.DBUtility.DBHelperSQL.ExecuteSql(strSql,pram);
        }

        [Test]
        [Ignore(
"为了测试并发插入的问题,屏蔽该方法")]
        
public void GetComputerInfo()
        
{
            Thread[] threads 
= new Thread[1000];
            
for (int i = 0; i < 1000; i++)
            
{
                Thread t 
= new Thread(new ThreadStart(Func));
                threads[i] 
= t;
            }

            
for (int i = 0; i < 1000; i++)
            
{
                threads[i].Start();
            }

     
            
        }

        
private void Func()
        

            mCompuerInfo 
= computerInfo.GetComputerInfo(1);
            Assert.AreEqual(mCompuerInfo.ComputerName, 
"YMF-XPWY");
        }

        [Test]
        
public void GetComputerInfoByMAC()
        
{
            mCompuerInfo 
= computerInfo.GetComputerInfoByMAC("00:1B:FC:64:6C:A3");
            Assert.AreEqual(mCompuerInfo.ComputerName, 
"YMF-XPWY");//正常条件
            mCompuerInfo = computerInfo.GetComputerInfoByMAC("00:sdfsdfsdf");
            Assert.AreEqual(mCompuerInfo, 
null);//边界条件
        }


        [Test]
        
public void TestInsertCPInfoWhileMorePeoper()
        
{
            Thread[] threads 
= new Thread[1000];
            
for (int i = 0; i < 1000; i++)
            
{
                j
++;
                threads[i] 
= new Thread(new ThreadStart(TestInsertCPInfo));
                threads[i].Start();
            }

        }

        
private void TestInsertCPInfo()
        
{
            mCompuerInfo.AudioDapater 
= j.ToString();
            mCompuerInfo.BrowserInfo 
= j.ToString();
            mCompuerInfo.ComputerName 
= "fw";
            mCompuerInfo.EthernetAddress 
= "asdsad";
            mCompuerInfo.ExamSeatNo 
= j;
            mCompuerInfo.IpAddress 
= "192.168.0.1";
            mCompuerInfo.IsTestPassed 
= true; ;
            mCompuerInfo.NotPassedError 
= "yes";
            mCompuerInfo.OSName 
= "OSName";
            mCompuerInfo.OSVersion 
= "1.0.1";
            computerInfo.InsertCPInfo(mCompuerInfo);
        }

    }

}


相 关 文 章   发布商链接
·详解单元测试中的问题和解决方案
·谈谈单元测试假成功和假失败的避免方...
·软件测试过程模型图介绍:V模型 W模...
·什么是单元测试?如何编写单元测试用...
·什么是黑盒测试及其测试常用的方法介...
·谈谈敏捷开发中的7种测试类型
·敏捷开发中的7种类型测试
·警惕一些容易被测试人员忽略的软件缺...
·举例谈谈项目测试工作指导性方案的思...
·测试过程的几个注意点助你提高测试的...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·谈谈敏捷开发中的7种测试类型...
·什么是黑盒测试及其测试常用...
·什么是单元测试?如何编写单元
·软件测试过程模型图介绍:V模
·谈谈单元测试假成功和假失败...
·详解单元测试中的问题和解决...
·为什么需要软件测试及其软件...
·.net测试覆盖率工具:clover....
·软件测试过程中,测试数据如何
·几款开放源代码的软件测试工...
·测试人员应该如何报bug?
热 门 文 章
·软件测试过程模型图介绍:V模...
·什么是单元测试?如何编写单元...
·为什么需要软件测试及其软件...
·什么是黑盒测试及其测试常用...
·软件测试过程中,测试数据如何...
·.net测试覆盖率工具:clover....
·软件测试缺陷报告实用写作技...
·测试人员应该如何报bug?
·几款开放源代码的软件测试工...
·详解单元测试中的问题和解决...
·软件测试中如何做好bug统计的...
·谈谈单元测试假成功和假失败...
·软件测试中常用的一些技巧与...
·测试过程的几个注意点助你提...
·保证测试的完备性的八条经验
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .