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

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

توضح هذه الإرشادات التفصيلية المهام التالية:

  1. كيف إلى بإنشاء شرط اختبار.

  2. كيف إلى توقيع تجميع مع اسم واضح.

  3. كيف إلى إضافة مراجع ضرورية إلى المشروع.

  4. كيف إلى بنية ملحق ميزة.

  5. كيف إلى تسجيل ملحق ميزة جديدة.

  6. كيف إلى اختبار الملحق ميزة جديدة.

المتطلبات الأساسية

يجب أن يكون لديك أما Visual Studio Premiumأو Visual Studio Ultimateتثبيت إلى إكمال هذه معاينة.

قم بإنشاء شرط اختبار مخصص

أول، ستقوم بإنشاء مكتبة فئة.

لإنشاء مكتبة فئة

  1. من القائمة ملف، انقر فوق جديد، ثم انقر فوق مشروع.

  2. في صندوق الحوار مشروع جديد ، تحت أنواع Project, انقر فوق Visual C#‎ .

  3. تحت القوالب، تحديد فئة مكتبة .

  4. في صندوق نص الاسم ، اكتب ColumnCountCondition ثم ثم انقر فوق ‏‏موافق .

التالي، سوف يقوم بتسجيل مشروع.

تسجيل مشروع

  1. في قائمة مشروع ، انقر فوق خصائص ColumnCountCondition.

  2. في التبويب التوقيع ، تحديد تسجيل تجميع الاختيار صندوق.

  3. في اختيار ملف المفتاح اسم المميز صندوق، انقر فوق من < جديد... >.

    يظهر صندوق الحوار إنشاء المفتاح اسم قوي.

  4. في اسم ملف المفتاح المربع، نوع SampleKey.

  5. نوع و تأكيد كلمة مرور، و ثم انقر فوق ‏‏موافق .

    عندما تقوم ببنية الحل الخاص بك، الالمفتاح ملف يتم استخدامها لتوقيع تجميع.

  6. من القائمة ملف، انقر فوق حفظ الكل.

  7. من القائمة Build (إنشاء)، انقر فوق Build Solution (إنشاء الحل).

بعد ذلك، سوف إضافة المراجع اللازمة للمشروع.

إلى إضافة مراجع قابلة للتطبيق إلى المشروع

  1. في مستكشف الحل ، تحديد مشروع ColumnCountCondition.

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

    يفتح صندوق الحوار إضافة مرجع.

  3. تحديد علامة تبويب .NET.

  4. في من اسم مكوّن عمود، حدد موقع المكونات التالية:

    تلميحتلميح

    اضغط زر'Ctrl' أثناء النقر فوق إلى حدد مكونات متعددة.

  5. انقر فوق ‏‏موافق عند محدد الجميع المكونات التي تحتاجها.

    سوف تظهر فيها المراجع المحدد تحت المراجع عقدة مشروع في من مستكشف الحلول.

إنشاء في فئة ResultSetColumnCountCondition

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

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

  1. في من مستكشف الحلول، انقر نقراً مزدوجاً فوق Class1.cs، انقر فوق إعادة تسمية ، نوع ResultSetColumnCountCondition.cs.

  2. انقر فوق نعم لتأكيد إعادة تسمية الجميع المراجع إلى الفئة 1.

  3. فتح في ResultSetColumnCountCondition.cs ملف ثم قم بإضافة ما يلي استخدام عبارات ملف:

    using System;
    using System.Collections.Generic;
    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 ColumnCountCondition
    {
        public class ResultSetColumnCountCondition
    
  4. اشتقاق الفئة من TestCondition:

        public class ResultSetColumnCountCondition : TestCondition
    
  5. إضافة theDatabaseSchemaProviderCompatibilityAttributeسمة. لمزيد من المعلومات، راجع قم بإنشاء بيانات اختبار خاصة بمخصص منشئ البيانات.

    [DatabaseSchemaProviderCompatibility(typeof(DatabaseSchemaProvider))]
       [DatabaseSchemaProviderCompatibility(null)]
        [DisplayName("ResultSet Column Count")]
        public class ResultSetColumnCountCondition : TestCondition
    

    اختبار شرط السمات كلتا توافق حيث:

    • الشرط هو تم تحميله عند أي موفر مخطط قاعدة بيانات التي ترث من DatabaseSchemaProviderهو موجودة. هذا بمعالجة الموقف الموقع اختبار وحدة قاعدة البيانات قام مصمم سياق موفر مخطط قاعدة بيانات. إذا أردت اختبار الخاص بك شرط أن تكون معينة إلى SQL Server، بدلاً من ذلك يمكنك تحديد SqlDatabaseSchemaProvider.

    • حالة الاختبار هو تم تحميله متى هو لا يوجد موفر مخطط قاعدة بيانات. يحدث هذا عند تحميل وحدة قاعدة بيانات اختبار ملحقات دون موفر مخطط قاعدة بيانات.

  6. إضافة السمة DisplayName:

        [DatabaseSchemaProviderCompatibility(typeof(DatabaseSchemaProvider))]
            [DatabaseSchemaProviderCompatibility(null)]
        [DisplayName("ResultSet Column Count")]
        public class ResultSetColumnCountCondition : TestCondition
    
  7. إنشاء متغيرات للعضو:

        {
            private int _resultSet;
            private int _count;
            private int _batch;
     
    
  8. إنشاء المنشئ:

            public ResultSetColumnCountCondition()
            {
                _resultSet = 1;
                _count = 0;
                _batch = 1;
            }
     
    
  9. تجاوز الأسلوب Assert. يتضمن الأسلوب وسيطات IDbConnection، الذي يمثل الاتصال إلى قاعدة البيانات، و ExecutionResult. يستخدم الأسلوب DataSchemaExceptionلمعالجة الخطأ.

            //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 DataSchemaException(String.Format("Batch {0} does not exist", _batch));
     
                ExecutionResult result = results[_batch - 1];
     
                //verify resultset exists
                if (result.DataSet.Tables.Count < ResultSet)
                    throw new DataSchemaException(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 DataSchemaException(String.Format(
                        "ResultSet {0}: {1} columns did not match the {2} columns expected",
                        ResultSet, table.Columns.Count, Count));
            }
     
    
  10. قم بإضافة الأسلوب التالي، والذي يتجاوز أسلوب ToString:

            //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);
            }
     
    
  11. إضافة خصائص شرط الاختبار التالي بواسطة استخدام CategoryAttribute، DisplayNameAttribute، و DescriptionAttributeالسمات:

            //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
        }
    }
    

التالي، سيتم إنشاء مشروع.

إلى بنية مشروع

  • من القائمة Build (إنشاء)، انقر فوق Build Solution (إنشاء الحل).

التالي، الذي يقوم بجمع معلومات تجميع التي تم إنشاؤها في مشروع، بما في ذلك الإصدار والثقافة PublicKeyToken.

إلى جمع معلومات تجميع

  1. قائمة عرض انقر فوق من Windows الأخرى، ومن ثم انقر فوق من نافذة الأوامر إلى فتح النافذة الأوامر.

  2. في الإطار الأوامر، نوع التعليمة البرمجية التالية. ل FilePath، استبدل المسار و ملف اسم.dll المترجمة الخاصة بك ملف. تضمين علامات الاقتباس حول المسار و ملف اسم.

    ملاحظة

    بشكل افتراضي، مسار ملف.dll المترجمة الخاصة بك هو\bin\يصحح YourSolutionPath أو\bin\يطرح المنتج YourSolutionPath .

    ? System.Reflection.Assembly.LoadFrom(@"FilePath").FullName
    
  3. اضغط Enter. يجب أن تشبه السطر التالي مع PublicKeyToken الخاصة بك:

    "ColumnCountCondition, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn"
    

    notate أو نسخ هذا معلومات تجميع؛ سيتم استخدامه في إجراء التالي.

التالي، يتم إنشاء ملف XML باستخدام تجميع المعلومات التي تم تجميعها في إجراء السابق.

لإنشاء ملف XML

  1. في مستكشف الحل ، تحديد مشروع ColumnCountCondition.

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

  3. في الجزء القوالب ، تحديد موقع و تحديد العنصر ملف XML.

  4. في نص اسم صندوق نوع ColumnCountCondition.ملحقات.xml وانقر فوق إضافة زر .

    ColumnCountCondition.ملحقات.xml ملف يضاف إلى مشروع في من مستكشف الحلول.

  5. فتح في ColumnCountCondition.ملحقات.ملف XML وتحديثه بحيث تتطابق مع XML التالي. قم باستبدال الإصدار، والثقافة، و PublicKeyToken التي قمت باستردادها في إجراء السابق.

    <?xml version="1.0" encoding="utf-8"?>
    <extensions assembly=""
                version="1" xmlns="urn:Microsoft.Data.Schema.Extensions"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions Microsoft.Data.Schema.Extensions.xsd">
    
      <extension type="ColumnCountCondition.ResultSetColumnCountCondition" assembly="ColumnCountCondition, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn" enabled="true"/>
    </extensions>
    
  6. من القائمة ملف، انقر فوق حفظ.

بعد ذلك، سيتم نسخ المعلومات تجميع و ملف XML إلى الدليل ملحقات. عند Visual Studio، يبدأ تعريف أية ملحقات في الدليل 10.0\VSTSDB\Extensions ملفات%\Microsoft ‏‫Visual Studio برنامج% والدلائل الفرعية، وتسجيل به استخدامها في جلسة عمل.

لنسخ المعلومات تجميع و ملف XML إلى الدليل ملحقات

  1. قم بإنشاء مجلد جديد يسمى CustomConditions في الدليل 10.0\VSTSDB\ملحقات\ملفات%\Microsoft ‏‫Visual Studio برنامج%.

  2. نسخ ملف تجميع ColumnCountCondition.dll من الدليل الإخراج، عن طريق الافتراضي، 2010\مشاريع\CustomConditions\CustomConditions\bin\يصحح\Studio مستندات\Visual الخاصة بي) إلى الدليل 10.0\VSTSDB\ملحقات\CustomConditions% ملفات%\Microsoft برنامج ‏‫Visual Studio الذي قمت بإنشائه.

  3. قم بنسخ الملف ColumnCountCondition.ملحقات.xml (بشكل افتراضي، موجود في الدليل 2010\مشاريع\CustomConditions\CustomConditions\Studio مستندات\Visual الخاصة بي)% ملفات%\Microsoft ‏‫Visual Studio برنامج 10.0\VSTSDB\ملحقات\CustomConditions الدليل الذي قمت بإنشائه.

    تلميحتلميح

    أفضل ممارسة إلى وضع تجميعات الملحق الخاص بك في مجلد في direcإلىry 10.0\VSTSDB\ملحقات ملفات%\Microsoft برنامج ‏‫Visual Studio%. سيساعد هذا التعرف على الذي ملحقات تم تضمينها مع منتج، وأيها إنشاءات المخصص الخاص بك. من المستحسن استخدام المجلدات أيضا لتنظيم الملحقات الخاصة بك في فئات معينة.

بعد ذلك، سيتم يبدأ جلسة عمل جديدة من برنامج ‏‫Visual Studio و إنشاء مشروع قاعدة بيانات.

إلى يبدأ جلسة عمل جديدة لبرنامج ‏‫Visual Studio ثم قم بإنشاء مشروع قاعدة بيانات

  1. بدء جلسة عمل الثاني من Visual Studio.

  2. من القائمة ملف، انقر فوق جديد، ثم انقر فوق مشروع.

  3. في صندوق الحوار الخاص ب مشروع جديد ، في القائمة القوالب المثبتة، قم بتوسيع العقدة قاعدة بياناتوثم انقر فوق SQL الخادم .

  4. في جزء التفاصيل، انقر فوق من SQL الخادم 2008 قاعدة بيانات مشروع.

  5. نص اسم صندوق نوع SampleConditionDB وثم انقر فوق ‏‏موافق .

بعد ذلك، يتم إنشاء اختبار وحدة.

إلى إنشاء اختبار وحدة قاعدة بيانات داخل فئة اختبار جديدة

  1. في القائمة اختبار انقر فوق اختبار جديد.

    ملاحظة

    يمكنك أيضا فتح مستكشف الحل ، انقر نقراً مزدوجاً فوق مشروع اختبار، وأشر إلى إضافة، و ثم انقر فوق اختبار جديد.

    يظهر مربع الحوار إضافة اختبار جديد .

  2. في القائمة قوالب ، انقر فوق قاعدة بيانات اختبار وحدة .

  3. في اسم اختبار ، نوع SampleUnitTest.

  4. في إضافة إلى "اختبار مشروع"، انقر فوق إنشاء Visual C# اختبار مشروع جديد.

  5. انقر فوق موافق.

    يظهر مربع حوار مشروع اختبار جديد .

  6. اكتب SampleUnitTest لاسم مشروع.

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

    ملاحظة

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

    يظهر الاختبار الخاص بك فارغ في مصمم اختبار وحدة قاعدة بيانات . ملف التعليمات برمجية مصدر Vهوual C# هو تمت الإضافة إلى المشروع اختبار.

  8. انقر فوق انقر هنا إلى إنشاء إلى الانتهاء من إنشاء اختبار الوحدة.

وأخيراً، ستشاهد عرض شرط جديد في مشروع SQL الخادم.

إلى عرض الشرط الجديد

  1. في مصمم اختبار وحدة قاعدة بيانات ، تحت اختبار شروط ، ضمن العمود الاسم، انقر فوق اختبار "inconclusiveCondition1".

  2. انقر فوق شريط الأدوات يحذف شرط اختبار زر لإزالة الاختبار inconclusiveCondition1.

  3. انقر فوق شروط اختبار المنسدلة و حدد عدد أعمدة في مجموعة نتائج.

  4. انقر فوق إضافة شرط اختبار إلى olbar $ $ $ $ إلى إضافة شرط الاختبار cusإلىm الخاص بك.

  5. في الإطار خصائص ، قم بتكوين العددو ممكن خصائص مجموعة نتائج على .

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

راجع أيضًا:

المهام

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

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

المبادئ

إنشاء و تعريف اختبارات وحدة قاعدة البيانات

موارد أخرى

إدارة "التجميع" و "بيان" التوقيع