كيفية القيام بما يلي: قم بإنشاء شروط اختبار مصمم اختبار وحدة قاعدة بيانات

ينطبق هذا الموضوع على:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio 2010 Professional 

Visual Studio Express

الموضوع الذي ينطبق الموضوع الذي ينطبق الموضوع الذي لا ينطبق الموضوع الذي لا ينطبق

يمكنك استخدام قابلة للتوسعة TestConditionالفئة إلى إنشاء ارتباط جديد اختبار الشروط . على سبيل المثال، قد إنشاء شرط اختبار جديد الذي يتحقق من عدد أعمدة أو قيم الموجودة في التعيين نتائج.

يفسر إجراء التالي كيفية إنشاء حالة الاختبار أن تظهر في "مصمم قاعدة بيانات وحدة اختبار".

إلى إنشاء شرط اختبار

  1. Visual Studio، قم بإنشاء مشروع "مكتبة الفئات".

  2. في قائمة المشروع انقر فوق إضافة مرجع .

  3. انقر فوق علامة تبويب .NET.

  4. في القائمة اسم مكوّن ، تحديد Microsoft.بيانات.مخطط.UnitTesting من Microsoft.بيانات.مخطط، ومن ثم انقر فوق ‏‏موافق .

  5. اشتقاق الفئة من TestConditionفئة.

  6. توقيع التجميع باسم قوي لمزيد من المعلومات، راجع كيفية: تسجيل تجميع باسم قوية.

  7. بناء فئة المكتبة.

  8. قبل استخدام الجديدة اختبار شرط، فيجب عليك نسخ تجميع الموقع الخاص بك إلى Files%\Microsoft برنامج ‏‫Visual Studio 10.0\VSTSDB\ملحقات\ Customملحقات المجلد، حيث من Customملحقات هو اسم المجلد أو المسؤول عن الكمبيوتر الخاص بك قد أنشأته ليحتوي على ملفات XML الخاصة بك ملحق ميزة.

  9. التسجيل اختبار الشرط. لمزيد من المعلومات، راجع كيفية القيام بما يلي: لتسجيل و إدارة ميزة ملحقات.

مثال

في ترتيب هو سبيل المثال، يمكنك إنشاء شرط اختبار بسيط الذي يتحقق من أن عدد أعمدة التي تم إرجاعها في مجموعة نتائج هو متوقعة. يمكنك استخدام ترتيب هو شرط اختبار بسيط للتأكد من أن اتفاق لإجراء مخزن هو الصحيح.

using System;
using System.Collections.Generic;
using TestTools = Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.Data.Schema.UnitTesting;
using Microsoft.Data.Schema.UnitTesting.Conditions;
using Microsoft.Data.Schema.Extensibility;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using Microsoft.Data.Schema;
 
namespace TeamSystem.Data.Samples.DBUnitTesting
{
    [DatabaseSchemaProviderCompatibility(DspCompatibilityCategory.Any)]
    [DatabaseSchemaProviderCompatibility(DspCompatibilityCategory.None)]
    [DisplayName("ResultSet Column Count")]
    public class ResultSetColumnCountCondition : TestCondition
    {
        private int _resultSet;
        private int _count;
        private int _batch;
 
        public ResultSetColumnCountCondition()
        {
            _resultSet = 1;
            _count = 0;
            _batch = 1;
        }
 
        //method you need to override
        //to perform the condition verification
        public override void Assert(DbConnection validationConnection, ExecutionResult[] results)
        {
            //call base for parameter validation
            base.Assert(validationConnection, results);
 
            //verify batch exists
            if (results.Length < _batch)
                throw new DataException(String.Format("Batch {0} does not exist", _batch));
 
            ExecutionResult result = results[_batch - 1];
 
            //verify resultset exists
            if (result.DataSet.Tables.Count < ResultSet)
                throw new DataException(String.Format("ResultSet {0} does not exist", ResultSet));
 
            DataTable table = result.DataSet.Tables[ResultSet - 1];
 
            //actual condition verification
            //verify resultset column count matches expected
            if (table.Columns.Count != Count)
                throw new DataException(String.Format(
                    "ResultSet {0}: {1} columns did not match the {2} columns expected",
                    ResultSet, table.Columns.Count, Count));
        }
 
        //this method is called to provide the string shown in the
        //test conditions panel grid describing what the condition tests
        public override string ToString()
        {
            return String.Format(
                "Condition fails if ResultSet {0} does not contain {1} columns",
                ResultSet, Count);
        }
 
        //below are the test condition properties
        //that are exposed to the user in the property browser
        #region Properties
 
        //property specifying the resultset for which
        //you want to check the column count
        [Category("Test Condition")]
        [DisplayName("ResultSet")]
        [Description("ResultSet Number")]
        public int ResultSet
        {
            get { return _resultSet; }
 
            set
            {
                //basic validation
                if (value < 1)
                    throw new ArgumentException("ResultSet cannot be less than 1");
 
                _resultSet = value;
            }
        }
 
        //property specifying
        //expected column count
        [Category("Test Condition")]
        [DisplayName("Count")]
        [Description("Column Count")]
        public int Count
        {
            get { return _count; }
 
            set
            {
                //basic validation
                if (value < 0)
                    throw new ArgumentException("Count cannot be less than 0");
 
                _count = value;
            }
        }
 
        #endregion
    }
}

الفئة للمخصصة اختبار شرط يرث من فئة اختبار شرط أساسية. نظراً لخصائص إضافى على المخصصة اختبار شرط، يمكن للمستخدمين تكوين الشرط من الإطار خصائص بعد أن كانت مسجلة الشرط.

في هذا المثال، يمكنك إضافة اثنين خصائص. يمكن أن يستخدم المستخدمون شرط الاختبار cusإلىm التعيين نتائج خاصية إلى تعيين لأي التعيين نتائج عدد الأعمدة يجب أن يمكن التحقق منها. وبعد ذلك، يمكن للمستخدمين استخدام خاصية عدد إلى تحديد العدد المتوقع العمود.

يتم تمت الإضافة السمات ثلاث لكل خاصية:

  • اسم فئة، مما يساعد على تنظيم خصائص.

  • اسم عرض الخاص خاصية.

  • وصف للخاصية.

التحقق من صحة بعض الأساسية هو تنفيذها تشغيل الخصائص، وذلك التحقق من القيمة مجموعة نتائج الخاصية هو لا أصغر من من واحد، وذلك القيمة عدد الخصائص هو أكبر من الصفر.

تنفيذ الأسلوب Assert مهمة أساسية اختبار الشرط. يمنع أسلوب Assert للتحقق من صحة التي الشرط المتوقعة هو يتحقق. يوفر هذا الأسلوب معلمتين:

  • معلمة الأولى هو اتصال قاعدة بيانات يستخدم إلى التحقق من صحة حالة الاختبار.

  • معلمة ثانية وأكثر أهمية هو الصفيفة النتائج، والتي تقوم بإرجاع عنصر صفيفة مفرد لكل دفعة التي تم تنفيذها.

دفعة واحدة فقط هو معتمدة لكل برنامج نصي للاختبار . ولذلك، سوف حالات الاختبار بفحص أول لها دائماً صفيفة العنصر. العنصر الصفيف يحتوي على إحدى وحدات فئة البيانات الذي يقوم تشغيل يحتوي على النتائج التي تم إرجاعها بتعيين برنامج نصي للاختبار. في هذا مثال، التعليمة البرمجية للتحقق من أن جدول بيانات في فئة البيانات يحتوي على عدد أعمدة المناسبة. لمزيد من المعلومات، راجع DataSet.

يجب عليك تعيين مكتبة فئة الذي يحتوي تشغيل شرط الاختبار الخاصة بك إلى توقيع، الذي يمكن تنفيذه في خصائص مشروع في علامة تبويب التوقيع.

راجع أيضًا:

المهام

كيفية القيام بما يلي: لتسجيل و إدارة ميزة ملحقات

الإرشادات التفصيلية: استخدام شرط اختبار Cusإلىm إلى التحقق من النتائج من إجراء Sإلىred

المبادئ

قم بتعريف الشروط المخصصة لوحدة قاعدة بيانات الاختبارات