Cucumber-js: الرجاء إضافة دعم لـ TypeScript

تم إنشاؤها على ١٣ مايو ٢٠١٥  ·  33تعليقات  ·  مصدر: cucumber/cucumber-js

لقد أنشأت lib مع الكتابة المطبوعة ، كما أن اختباراتي مكتوبة بخط مطبوع أيضًا. أود حقًا تجربة cucumber.js وإنشاء ملفات تعريف خطوة بخطوة مطبوعة. لذا فأنت تدعم coffeescript و js ، سيكون ts لطيفًا أيضًا.

يعتبر

كريس

التعليق الأكثر فائدة

jbpros منذ أن تم تحديث الملف التمهيدي ، وهذا يظهر بشكل بارز في نتائج "cucumber typescript" ، مقتطف:

Transpilers

-تعريفات الخطوات وملفات الدعم يمكن كتابتها بلغات أخرى يمكن تحويلها إلى جافا سكريبت.
-يتم ذلك باستخدام خيار CLI --compiler <file_extension>:<module_name> . بالنسبة لـ CoffeeScript 1.10.0 ،
-يتم هذا بـ --compiler coffee:coffee-script/register .
يمكن كتابة تعريفات الخطوة وملفات الدعم بلغات أخرى يمكن تحويلها إلى جافا سكريبت. يتم ذلك باستخدام خيار CLI --compiler <file_extension>:<module_name> .

كوفي سكريبت

قم بتثبيت حزمة NPM الخاصة بنص القهوة واستدعاء Cucumber بـ --compiler coffee:coffee-script/register .

تيبسكريبت

تثبيت نسخة مطبوعة على الآلة الكاتبة عقدة حزمة الآلية الوقائية الوطنية واستدعاء والخيار مع --compiler ts:typescript-node/register .

كالعادة ، يجب أن تصدر كل ملفات تعريف الخطوات ودعمك وظيفة ليتم تشغيلها بواسطة Cucumber. هذه هي الطريقة التي يتم بها في TS:

declare var module: any;
module.exports = function () {
 this.Given(/.*/, function () {
   // ...
 })
}

بوجو سكربت

قم بتثبيت حزمة pogo NPM واستدعاء Cucumber بـ --compiler pogo:pogo .

ال 33 كومينتر

لماذا لا ترسل طلب سحب @ Chris2011

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

أنا أفهم @ Chris2011. ربما يقرر شخص ما يومًا ما قضاء بعض الوقت في تنفيذ هذا لأنه يريد مساعدتك ، أو لمجرد التسلية.

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

يمكن. شكرا لرأيك. من وجهة نظري ، كان من المنطقي فقط طلب هذه الميزة لأن TS ستكون أكثر شيوعًا لمدة عام أو عامين. وعندما تقرر أنت أو أي شخص آخر تنفيذ فن القهوة أيضًا ، فلماذا لا يتم الطباعة أيضًا؟

تشك كثيرا. سوف نرى ما يحدث...

بشكل عام - تمامًا مثل المُنسِّقين - أرغب في الحصول على دعم للغة / اللهجة لتكون مكونات إضافية تابعة لجهات خارجية بدلاً من كونها جزءًا من النواة (بما في ذلك CoffeeScript و PogoScript الحاليين).

TS +1

+1

مثل ذلك ، الرجاء القيام بذلك بعض الوقت !!!

: +1:

لا يوجد مقدار +1 أو: +1: سيحدث هذا. شخص ما يجب أن يقدم طلب سحب.

: +1: بقعة aslakhellesoy

: 8ball: samccone

وينبغي أن يتمjbprosaslakhellesoy الشيء الوحيد الذي لدعم لغات 3rd الطرف بتنفيذ طريقة لتعديل:

SupportCodePathExpander.SUPPORT_CODE_FILES_IN_DIR_REGEXP = /\.(js|coffee|pogo)$/;

وبعد ذلك يمكن لأي شخص تسجيل أي ناقل في support/env.js على سبيل المثال
ربما ينبغي إزالة هذا التعبير العادي على الإطلاق؟

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

SeanFarrow لقد قمت بذلك محليًا بالفعل. عليك فقط تعديل /lib/cucumber//cli/argument_parser/support_code_path_expander.js:12 ثم إضافة أي محول من خلال الخطاف

هل تريد إرسال العلاقات العامة؟

من: Aleh Kashnikau [mailto: [email protected]]
تاريخ الإرسال: 16 أغسطس 2015 الساعة 19:15
إلى: cucumber / cucumber-js [email protected]
نسخة إلى: شون فارو شون. [email protected]
الموضوع: Re: [cucumber-js] الرجاء إضافة دعم لـ TypeScript (# 335)

SeanFa rrowhttps: //github.com/SeanFarrow لقد قمت بذلك بالفعل محليًا. عليك فقط تعديل /lib/cucumber//cli/argument_parser/support_code_path_expander.js:12 ثم إضافة أي ناقل عبر خطاف الطلب

-
يمكنك الرد على هذه الرسالة الإلكترونية مباشرةً أو عرضها على Gi tHubhttps: //github.com/cucumber/cucumber-js/issues/335#issuecomment -131598410.

mkusher هناك ما هو أكثر من ذلك. لكي تكتمل ، يجب أن تكون مقتطفات تعريفات الخطوات متاحة أيضًا باللغة الإضافية (وهو ما لم يتم إجراؤه حاليًا في PogoScript) ، راجع CLI --coffee flag.

أود حقًا أن يتم ذلك عبر نظام مكون إضافي / مترجم على أي حال وإزالة جميع اللهجات من النواة (بما في ذلك coffeescript).

لا أفهم لماذا هناك حاجة إلى دعم لغة معينة؟ ألن تقوم فقط بنقل تعريفات الخطوة إلى JavaScript كجزء من عملية الإنشاء الخاصة بك؟

398 يجب أن يجعل دعم أي ناقل بسيط

نعم ، # 398 سيصلح هذا.

henrify الشيء الوحيد الذي "يحتاج" لإضافته إلى Cucumber هو دعم مقتطف تعريف الخطوة للغات أخرى. إنها حاليًا في Vanilla JS افتراضيًا ويمكن إخراجها في CS بعلامة --coffee CLI.

قد نقوم فقط بإسقاط مقتطفات بخلاف JS تمامًا (بما في ذلك CS؟). أفكار؟

تم دمج 398 وستتوفر في الإصدار التالي. دعم TypeScript موثق في README .

jbpros منذ أن تم تحديث الملف التمهيدي ، وهذا يظهر بشكل بارز في نتائج "cucumber typescript" ، مقتطف:

Transpilers

-تعريفات الخطوات وملفات الدعم يمكن كتابتها بلغات أخرى يمكن تحويلها إلى جافا سكريبت.
-يتم ذلك باستخدام خيار CLI --compiler <file_extension>:<module_name> . بالنسبة لـ CoffeeScript 1.10.0 ،
-يتم هذا بـ --compiler coffee:coffee-script/register .
يمكن كتابة تعريفات الخطوة وملفات الدعم بلغات أخرى يمكن تحويلها إلى جافا سكريبت. يتم ذلك باستخدام خيار CLI --compiler <file_extension>:<module_name> .

كوفي سكريبت

قم بتثبيت حزمة NPM الخاصة بنص القهوة واستدعاء Cucumber بـ --compiler coffee:coffee-script/register .

تيبسكريبت

تثبيت نسخة مطبوعة على الآلة الكاتبة عقدة حزمة الآلية الوقائية الوطنية واستدعاء والخيار مع --compiler ts:typescript-node/register .

كالعادة ، يجب أن تصدر كل ملفات تعريف الخطوات ودعمك وظيفة ليتم تشغيلها بواسطة Cucumber. هذه هي الطريقة التي يتم بها في TS:

declare var module: any;
module.exports = function () {
 this.Given(/.*/, function () {
   // ...
 })
}

بوجو سكربت

قم بتثبيت حزمة pogo NPM واستدعاء Cucumber بـ --compiler pogo:pogo .

هل هناك حاجة حقًا لاستخدام عقدة مطبوعة؟ هل من الممكن استخدام tsc الرسمي المدعوم بدلاً من عقدة الطباعة؟ لا أعرف الاختلافات ولكن tsc مدعوم رسميًا من Microsoft.

@ Chris2011 ts-node هو مجرد خطاف تسجيل لـ node.js سيقوم بتشغيل التجميع عبر tsc

حسنا شكرا.

JoshuaKGoldberg من أين المقتطف؟ لقد فشلت عمليات البحث التي أجريتها في العثور عليها.

عينة لإرشادك في خيار cucumberjs باستخدام الكتابة المطبوعة:
https://github.com/AbraaoAlves/cucumber-protractor-typescript-boilerplate

شكرا AbraaoAlves على العينة.
لسوء الحظ ، إنها تعمل فقط مع cucumberjs 1. طبقة إطار المنقلة - الخيار - غير متوافقة مع cucumber2 rcs.

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

يُرجى تأكيد ما إذا كان سيكون هناك مشكلات توافق الخيار + المنقلة + المطبعية من الآن فصاعدًا ... حيث نخطط لاستخدام المجموعة في عمليات التنفيذ الخاصة بنا ..

تضمين التغريدة
افعل شيئًا كهذا بعملة After

driver.takeScreenshot().then(data => {
        attach(new Buffer(data, 'base64'), 'image/png');
      }).catch(error => {
        info(error);
        throw error;
      });

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

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات