فئة المحفوظات: SharePoint على الإنترنت

شرير إعلان مثيرة

مما يجعل إعلانات ليست في الحقيقة شيء لي, لكن هذه المرة, أنا متحمس حقاً وحقاً عن موقع SharePoint أبل كبيرة تعرج أطلقت فقط. 

العمل في الاستشارات المتعرج، وإدارة البوابات & ممارسة التعاون.  هو موقع التفاحة الكبيرة "بلادي" لممارسة بلدي هنا في نيويورك.  لقد أردت منذ فترة طويلة واحدة من هذه. وأنا متأكد من أن العديد من SP المؤيد قد تمنى شيئا من هذا القبيل.  كم من المرات قد نظرنا في الموقع العام للشركة الخاصة بنا, أو أحد من الزبائن، ورأيت منهم بناء عليه إلى الخارج ومجرد معرفة ورغبة في أنها ستبني على SP?  نعلم جميعا أن SP جيد جداً في هذا النوع من الشيء, ولكن ليس من الشائع جداً. 

بئر, العالمين وأخيراً الانحياز فقط الحق بالنسبة لي – أون ليرة سورية مكلفة حقاً, كان الفريق المناسب والوقت الكافي تفعل ذلك في الواقع.

كانت رحلة مدهشة للحصول على لإطلاق ومشاركة بعض من أن هناك في الموقع.

اقرأ كل شيء عن ذلك هنا، وإذا كنت مهتما بالتفاصيل وراء ذلك, ويسعدني أكثر من أن نتحدث عنه.

هنا هو ارتباط الإعلان الرسمي: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=82 #O365

</نهاية>

كيفية: تكوين اختبار وحدة، واختبار التغطية مع QUnit.js و Blanket.js لمكتب 365 التطبيق SharePoint

مقدمة

لقد تم استكشاف اختبار وحدة، واختبار التغطية لجافا سكريبت كما عمل في تطبيق SharePoint جديد ل SharePoint على الإنترنت في المكتب 365 جناح.  مسارات البحوث الواضحة دفعتني إلى Qunit.js والحق بعد ذلك, إلى Blanket.js.

كنت اسمحوا لي أن إعداد اختبارات الوحدة، ومجموعة منهم في الوحدات النمطية.  وحدة نمطية مجرد وسيلة بسيطة تنظيم الاختبارات ذات الصلة. (لست متأكداً وأنا استخدامه كما يقصد بها, ولكن أنها تعمل بالنسبة لي حتى الآن مع مجموعة صغيرة من الاختبارات التي قمت بتعريف حتى الآن).

Blanket.js يتكامل مع كنت، وأنها سوف تظهر لي خطوط جافا سكريبت الفعلية التي كانت – والأهم من ذلك--لم ينفذ فعلياً أثناء تشغيل الاختبارات.  هذا "تغطية" – خطوط أعدم مشمولة بالاختبار في حين أن البعض الآخر لا.

بين إعداد حالات الاختبار الجيد وعرض التغطية, ونحن يمكن أن تقلل من خطر أن قانوننا قد مخفي العيوب.  الأوقات الجيدة.

كنت

على افتراض لديك الخاص بك Visual Studio إعداد المشروع, ابدأ بتحميل حزمة جافا سكريبت من http://qunitjs.com.  إضافة جافا سكريبت والمغلق المقابلة إلى الحل الخاص بك.  وهذا يشبه الألغام:

image

الشكل 1

كما ترون, لقد تم استخدام 1.13.0 وفي الوقت كتبت هذا بلوق وظيفة. لا تنسى للتحميل وإضافة ملف CSS.

أن الخروج من هذا الطريق, والخطوة التالية هي لإنشاء نوع من نظام الاختبار ومرجع بت كنت.  أنا اختبار مجموعة من الدالات في ملف نصي يسمى "QuizUtil.js" لذلك أنا خلقت صفحة HTML يسمى "QuizUtil_test.html" كما هو موضح:

image الشكل 2

هنا هو رمز:

<!DOCTYPE html>
<html xmlns= "http://www.w3.org/1999/xhtml">
<رئيس>
    <العنوان>اختبار كويزوتيل مع كنت</العنوان>
    <وصلة rel= "أوراق الأنماط" href="../CSS/qunit-1.13.0.css" />
    <البرنامج النصي نوع= "نص/جافا سكريبت" src="QuizUtil.js" تغطية البيانات></البرنامج النصي>
    <البرنامج النصي نوع ="النص/جافا سكريبت" src ="كنت 1.13.0.js"></البرنامج النصي>
    <البرنامج النصي نوع ="النص/جافا سكريبت" src ="blanket.min.js"></البرنامج النصي>

    <البرنامج النصي>
        الوحدة النمطية("جيتيدفروملوكوب");
        اختبار(كويزوتيل جيتيدفروملوكوبفيلد "", الدالة () {
            فأر جودفالوي = "1;#بول غالفين";

            تساوي(جيتيدفروملوكوبفيلد(جودفالوي) + 1, 2), "معرف [" + جودفالوي + "] + 1 وينبغي أن تكون 2";
            تساوي(جيتيدفروملوكوبفيلد(غير معرف), غير معرف, وسيطة الإدخال غير معرفة "يجب إرجاع نتيجة غير معروف.");
            تساوي(جيتيدفروملوكوبفيلد(""), غير معرف, "وسيطة الإدخال فارغ يجب إرجاع قيمة غير معرفة.");
            تساوي(جيتيدفروملوكوبفيلد("تي إتش كيو gobbledigood3;أدا دكفن;sdjfbvubvqrubqer0873407t534piutheqw سكفجا;vn"), غير معرف,"ينبغي دائماً العودة نتيجة قابلة لتحويل إلى عدد صحيح");
            تساوي(جيتيدفروملوكوبفيلد("2;#شخص آخر"), "2", "التحقق [2;#شخص آخر].");
            تساوي(جيتيدفروملوكوبفيلد("9834524;#قيمة طويلة"), "9834524", "اختبار قيمة كبيرة.");
            نوتيكوال(جيتيدفروملوكوبفيلد("5;#أي شخص", 6), 6, "اختبار نوتيكوال (5 لا يساوي 6 لهذه العينة: [5;#أي شخص]");

        });

        الوحدة النمطية("هتمليسكابي");
        اختبار(كويزوتيل هتمليسكابي "()", الدالة () {
            تساوي(هتمليسكابي("<"), "&الملازم;", "الهروب من أقل من المشغل ('<')");
            تساوي(هتمليسكابي("<div class =  "someclass">بعض النص</div>"), "&الملازم;div class =&quot;سوميكلاس&quot;&gt;بعض النص&الملازم;/div&gt;", "سلسلة اختبار أكثر تعقيداً.");
        });

        الوحدة النمطية("جيتداتيسكامل");
        اختبار(كويزوتيل جيتداتيسكامل "()", الدالة () {
            تساوي(جيتداتيسكامل(الجديد التاريخ("31/12/2013")), "2013-12-31T:00:00:00", "اختبار تاريخ جد المبرمج: [12/31/2013]");
            تساوي(جيتداتيسكامل(الجديد التاريخ("01/05/2014")), "2014-01-05T:00:00:00", "اختبار تاريخ جد المبرمج: [01/05/2014]");
            تساوي(جيتداتيسكامل(الجديد التاريخ("01/31/2014")), "2014-01-31T:00:00:00", "اختبار تاريخ جد المبرمج: [01/31/2014]");
            تساوي(جيتوداياسكامل(), جيتداتيسكامل(الجديد التاريخ()), "جيتوداياسكامل() وينبغي أن تساوي جيتداتيسكامل(تاريخ جديد())");
            تساوي(جيتداتيسكامل("هراء القيمة"), غير معرف, "في محاولة للحصول على تاريخ قيمة هراء.");
            تساوي(جيتداتيسكامل(غير معرف), غير معرف, "في محاولة للحصول على موعد [غير معرف] تاريخ.");
        });

        الوحدة النمطية("جيتباراميتيربينامي");
        اختبار(كويزوتيل جيتباراميتيربينامي " (من سلسلة الاستعلام)", الدالة () {
            تساوي(جيتباراميتيربينامي(غير معرف), غير معرف, "في محاولة للحصول على المعلمة غير محددة ينبغي العودة غير معرف.");
            تساوي(جيتباراميتيربينامي("غير موجود"), غير معرف, "في محاولة للحصول على قيمة المعلمة عندما نعلم المعلمة غير موجود.");

        });

        الوحدة النمطية("ملفات تعريف الارتباط");
        اختبار("كويزوتيل وظائف مختلفة في ملف تعريف الارتباط.", الدالة () {
            تساوي(setCookie("اختبار", "1", -1), جيتكوكيفالوي("اختبار"), "ينبغي العمل بالحصول على ملف تعريف ارتباط تعيين.");
            تساوي(setCookie("أنيكوكي", "1", -1), صحيح, "الإعداد الطبخ صالحة ينبغي العودة' صحيح '.");
            تساوي(setCookie("اسم ملف تعريف الارتباط مجنون !@#$%"%\^&*(()?/><.,", "1", -1), صحيح, "تحديد اسم ملف تعريف ارتباط سيئة ينبغي العودة' false '.");
            تساوي(setCookie(غير معرف, "1", -1), غير معرف, "تمرير معرف كاسم ملف تعريف الارتباط.");
            تساوي(جيتكوكيفالوي("غير موجود"), "", "لا يوجد ملف تعريف الارتباط اختبار.");
        });

    </البرنامج النصي>
</رئيس>
<الهيئة>
    <div معرف= "كنت"></div>
    <div معرف= "كنت لاعبا أساسيا"></div>

</الهيئة>
</html>

وهناك العديد من الأمور التي تحدث هنا:

  1. الرجوع إلى قانون بلدي (QuizUtil.js)
  2. الرجوع إلى Qunity.js
  3. تعريف بعض الوحدات النمطية (جيتيدفروملوكوب, ملفات تعريف الارتباط, وآخرون)
  4. وضع <div> هو له معرف "كنت".

ثم, أنا مجرد سحب هذه الصفحة، ويمكنك الحصول على شيء من هذا القبيل:

image

الشكل 3

إذا قمت بالبحث عبر الجزء العلوي, لديك عدد قليل من الخيارات, اثنان منها مثيرة للاهتمام:

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

أما بالنسبة للاختبارات أنفسهم – عدد قليل من التعليقات:

  • غنى عن القول أن كنت بحاجة لكتابة التعليمات البرمجية الخاصة بك مثل أن قابل للاختبار في المقام الأول.  باستخدام الأداة يمكن أن تساعد في إنفاذ هذا الانضباط. وعلى سبيل المثال, كان لي وظيفة تسمى "جيتوداياسكامل()”.  هذه ليست قابلة للاختبار جداً نظراً لأنه يأخذ لا وسيطة الإدخال، واختباره للمساواة, سوف نحتاج إلى استمرار تحديث التعليمات البرمجية الاختبار يعكس التاريخ الحالي.  إعادة بناء فإنه عن طريق إضافة معلمة إدخال بيانات ثم تمرير التاريخ الحالي عندما أريد تاريخ اليوم في تنسيق CAML.
  • إطار كنت الوثائق الخاصة الاختبارات ويبدو أنها قوية جداً.  فإنه يمكن القيام بأشياء بسيطة مثل اختبار للمساواة وأيضا الدعم لاستدعاءات أسلوب أجاكس (استخدام "حقيقية" أو سخر كل مستهزئ المفضلة الخاصة بك).
  • الذهاب من خلال هذه العملية أيضا قوات كنت أعتقد من خلال الحالات الحافة – ما يحدث مع "غير معرف" أو null يتم تمريرها إلى دالة.  فإنه يجعل من القتلى بسيطة لاختبار هذه السيناريوهات خارجاً.  الأشياء الجيدة.

التغطية مع Blanket.js

ويكمل Blanket.js كنت بتتبع الخطوط الفعلية من التعليمات البرمجية التي تنفذ أثناء تشغيل الاختبارات الخاصة بك.  أنه يدمج الحق في كنت حتى رغم أنها تطبيق كاملة منفصلة, أنه يلعب لطيف--أنها حقاً تبدو وكأنها واحدة من التطبيق السلس.

وهذا هو blanket.js في العمل:

image الشكل 4

image

الشكل 5

(لديك فعلا انقر فوق خانة الاختيار "تمكين التغطية" في الجزء العلوي [انظر الشكل 3] لتمكين هذا.)

الخطوط المميزة في الشكل 5 لم يتم تنفيذها قبل أي من بلدي التجارب, لذا تحتاج إلى وضع اختبار الذي تسبب لهم بإعدام إذا أريد تغطية كاملة.

الحصول على blanket.js العمل باتباع الخطوات التالية:

  1. تحميل البرنامج من http://blanketjs.org/.
  2. إضافته إلى المشروع الخاص بك
  3. تحديث الصفحة مفعل الاختبار الخاصة بك (QuizUtil_test.html في حالتي) كما يلي:
    1. الإشارة رمز
    2. تزيين الخاص بك <البرنامج النصي> إشارة من هذا القبيل:
    <البرنامج النصي نوع= "نص/جافا سكريبت" src="QuizUtil.js" تغطية البيانات></البرنامج النصي>

Blanket.js تلتقط السمة "البيانات--الغطاء"، ولا عن السحر.  هوكس في كنت, تحديث واجهة المستخدم لإضافة الخيار "تمكين التغطية" وويلا!

ملخص (ليرة تركية; الدكتور)

كنت استخدامها كتابة حالات الاختبار الخاصة بك.

  • تحميل البرنامج
  • إضافته إلى المشروع الخاص بك
  • كتابة صفحة مفعل الاختبار
  • إنشاء الاختبارات الخاصة بك
    • إعادة بناء التعليمات البرمجية بعض التعليمات البرمجية الخاصة بك تكون قابلة للاختبار
    • كن مبدعاً!  أعتقد أن من الجنون, سيناريوهات مستحيلة واختبار لهم على أي حال.

استخدم blanket.js لضمان التغطية

  • تأكد من أن كنت تعمل
  • تحميل blanket.js وإضافته إلى المشروع الخاص بك
  • إضافة إلى صفحة مفعل الاختبار الخاصة بك:
    • إضافة مرجع إلى blanket.js
    • إضافة سمة "بيانات--غطاء" إلى الخاص بك <البرنامج النصي> العلامة
  • تشغيل الاختبارات كنت الخاصة بك.

ابدأ أنا لم أي من هذا من قبل، وكان بعض الأشياء البدائية تعمل في عدد قليل من الساعات. 

اختبار سعيدة!

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

ببوس 2010 و "مجاميع”

كنت اقرأ أحد هذه المواد الشبيهة بلاه عامة جداً على إسناد (في Microsoft exchange و SharePoint في سحابة) والحمد لله وديد عن طريق إلى نهاية:

من ناحية أخرى التسليمات المدى القريب, Microsoft مشركا توفير في إسناد v.Next الأصلية PowerShell البرمجة عن طريق إنشاء نقطة نهاية PowerShell على الإصدار PowerShell 2. وسوف يتم المصادقة من خلال "معرفات أون لاين", مع بيانات اعتماد واحدة تكون قادرة على استخدام PowerShell والمدخل.وردد كين الرسالة Microsoft الأخرى المدراء وقد تم التعبير عن في مختل عقلياً هذا الأسبوع: قدرات سحابة, مع مرور الوقت, وسوف  أصبحت مجموعة شاملة لما هو متاح في أماكن العمل. حاليا, أن العكس الصحيح, وخدمات عبر الإنترنت في Microsoft لعرض مجموعة فرعية من الوظائف المتاحة في برنامج مكافئات لكل منتج.

فكرة أن السحابة ستوفر القدرة أكثر مما على فرضية جديدة بالنسبة لي. وأتساءل كيف يصدق أن يحدث ليكون في نهاية المطاف.  تشعر أنها الحدس بالنسبة لي.  احصل على تماما فكرة أن الكثير من الشركات سوف تتحرك الأشياء إلى سحابة (أو تبدأ في سحابة) ولكن عادة أعتقد أنها تفعل ذلك لأن المؤيد (المشرف أسهل, مستوى الخدمة, إلخ) تفوق السلبيات (الأداء الوظيفي المنخفض). 

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

ربما أنا سوف أكل كلماتي على هذا.  أتذكر التفكير بأن لا أحد يمكن أن تحتاج ربما أكثر من 650 ميغا بايت من البيانات، وبالتالي, كان مؤتمر نزع السلاح لن يمكن تحسينها.

</نهاية>

الاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

SharePoint على الإنترنت ويقوم InfoPath

وقد أكون آخر شخص تحقيق هذا, لكن SharePoint على الإنترنت (وكثيراً ما أسمع الناس يقولون هو WSS سبحانه) يدعم InfoPath Forms Services.  هذه هي الأشياء قوية جداً, خاصة بالنظر إلى أن "الملكية الفكرية خ" عبارة عن ميزة مؤسسة موس وإسناد شيء من هذا القبيل 1.99 دولار في الشهر 10,000 المستخدمين.  ربما أكثر من ذلك بقليل.

حتى, يتحدى SharePoint على الإنترنت سهلة التعريف.  قد هذه الميزة المؤسسة, لكن لا يمكن الوصول المجهول (يدعم فيه حتى WSS).  يمكنك القيام ببعض الأشياء للاهتمام بالبحث (موسيش, حيث يمكنك تحديد نطاقات مستوى الموقع), ولكن إذا كنت بحاجة إلى الوصول إلى موفر الخدمات المشتركة, لا يمكنك أن تفعل ذلك.  يمكنك لعب لعبة "من ناحية ومن ناحية أخرى" طوال الليل باستخدام هذا المنتج 🙂

Microsoft الواجب إصدار نسخة جديدة من SP أون لاين في الأشهر القليلة القادمة.  وأتساءل ما هو هجين غريب فإنه سوف يكون?

</نهاية>

الاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin