নোড.জেএস এর সাথে ব্যবহারের জন্য সেরা পরীক্ষার কাঠামোটি কী? [বন্ধ]


130

আমি https://github.com/ry/node/wiki/modules#testing এ টেস্টিং ফ্রেমওয়ার্কের পরিবর্তে দীর্ঘ তালিকাটি দেখেছি । এই ফ্রেমওয়ার্কগুলির সাথে অভিজ্ঞতা কী?

স্পষ্টতই ব্রাউজারে চালানোর ক্ষমতাটি একটি বড় বোনাস হবে তবে আমি নোড.জেএস-এ মূলত আগ্রহী I'm একটি ভারী অ্যাসিঙ্ক্রোনাস স্লেন্টের সাথে দুর্দান্ত কিছু হবে।

উত্তর:


70

হালনাগাদ:

আমার মতে মোচা সেরা।


এই ফ্রেমওয়ার্কগুলির সাথে অভিজ্ঞতা কী?

আমি এক্সপ্রেসের সাথে খেলেছি যা বেশ দুর্দান্ত টেস্টিং ফ্রেমওয়ার্ক যা টেস্ট-কভারেজও রয়েছে। এটি টিজে হলোয়েচুক তৈরি করেছেন যিনি এক্সপ্রেস.জেএস ( নানড.জেএস এবং কানেক্টে নির্মিত তাত্পর্যপূর্ণ দ্রুত (এবং ছোট) সার্ভার-সাইড জাভাস্ক্রিপ্ট ওয়েব বিকাশ কাঠামো) এরও স্রষ্টা । আমি সম্প্রতি দেখেছি যে তার কাছে should.js নামে একটি দুর্দান্ত লাইব্রেরি রয়েছে যা এক্সপ্রেসোর সাথে আরও ভাল পরীক্ষার অভিজ্ঞতার জন্য একসাথে ব্যবহার করা যেতে পারে।

স্পষ্টতই, ব্রাউজারে চালানোর ক্ষমতাটি একটি বড় বোনাস হবে

আমি বিশ্বাস করি না এটি ব্রাউজারে চলতে পারে, তবে আপনি এটি ব্রাউজারের ভিতরে চালাতে চান কেন তাও আমি পাই না?

তবে আমি নোড.জেএস-তে মূলত আগ্রহী একটি ভারী অ্যাসিঙ্ক্রোনাস স্লেন্টের সাথে দুর্দান্ত কিছু হবে।

এক্সপ্রেস থেকে উদ্ধৃতি:

প্রতিটি কলব্যাকের কাছে প্রেরিত আর্গুমেন্টটি এক্সিটের আগে, যা সাধারণত কলব্যাকগুলি আহ্বান করা হয়েছে তা জোর দিয়ে ব্যবহৃত হয়।

অ্যাসিঙ্ক্রোনাস ফাংশন পরীক্ষা করতে আপনি প্রস্থান করার আগে ব্যবহার করতে পারেন।


পরামর্শ: অনুসরণ টি জে Holowaychuk উপর GitHub কারণ তিনি খুব ভাল ওপেন সোর্স কোড তৈরি করে।


উত্তরের জন্য ধন্যবাদ, আমি এক্সপ্রেস চেষ্টা করে দেখলাম যে অ্যাসিঙ্ক সমর্থনটি খুব স্বজ্ঞাত নয়। (যাই হোক না কেন আমার জন্য)
ডফএম

3
আমি বর্তমানে মানতগুলি ( vowsjs.org ) চেষ্টা করছি যা বুঝতে আমার পক্ষে সহজ ছিল।
ডফম

ব্রজগুলিও দেখতে দুর্দান্ত টেস্টিং ফ্রেমওয়ার্কের মতো লাগছিল। আমি এক্সপ্রেসের পরীক্ষার কভারেজ বৈশিষ্ট্যটি পছন্দ করি। প্লাস আই আশ্চর্য কি আপনি বুঝতে পারেন না?
আলফ্রেড

4
আপনি বলছেন যে আপনি এখন মোচাকে পছন্দ করেন, তবে কেন?
জোনাথন আর্কেল 2'12

এটা চেষ্টা করুন. মোচা সব আছে :)। এমনকি ব্রাউজার সমর্থন, কোড কভারেজ। আপনি নাম দিন, মোচা আছে!
আলফ্রেড

40

আমি VowsJS ব্যবহার করি যা বিডিডি কাঠামো (বিহেভিয়ার ডেভলপমেন্ট) এবং কাজটি করা সহজ get

আমি ইদানীং যা দেখছি সেগুলি থেকে অনেকেই তাদের এনপিএম মডিউলগুলি পরীক্ষা করতে পছন্দ করেছেন, তাই আমি বিশ্বাস করি যে এখন পর্যন্ত এটি সবচেয়ে ভাল ব্যবহার করা।

নোডজেএসের সাথে ব্যবহারযোগ্য কিছু জনপ্রিয় টেস্টিং ফ্রেমওয়ার্কগুলি হ'ল:

আপনি এখানে জাভাস্ক্রিপ্ট পরীক্ষা ফ্রেমওয়ার্কের একটি তালিকা দেখতে পারেন

আরও ভাল কিছু লিবিও যা আপনাকে আরও ভাল কোড লিখতে সহায়তা করতে পারে সেগুলি হ'ল:

রয়েছে বাঁশের সি আই সার্ভার দ্বারা Atlassian এটা স্বয়ংক্রিয়রূপে তৈরী করে এবং পরীক্ষা। এটি অ্যাপাচি / টমক্যাটের জন্য একটি প্যাকেজ (এটি যা জাভা ব্যবহার করে এবং এটি খুব ভারী করে তোলে) এটিও নিখরচায় নয় তবে এটির একটি স্টার্টার লাইসেন্স রয়েছে যার দাম 10 ডলার, তাই আমি বিশ্বাস করি এটি সাশ্রয়ী। এটি আমি এখনও অবধি পাওয়া সমস্ত সিআই সার্ভারগুলির মধ্যে সর্বাধিক বৈশিষ্ট্যযুক্ত এবং এটি xUnit সমর্থনকারী সমস্ত ইউনিট পরীক্ষার সমর্থন করে যার অর্থ আপনি বাঁশের সাথে কোনও ভাষার জন্য বিল্ড / পরীক্ষা চালাতে পারেন।

নোডেজেএস সহ সিআইয়ের আর একটি বিকল্প ট্র্যাভিস যা প্রচুর লোক তাদের ওপেন সোর্স প্রকল্পগুলির জন্য ব্যবহার করে, যেমন এটি বলে যে ওপেন সোর্স সম্প্রদায়ের জন্য একটি আয়োজিত অবিচ্ছিন্ন ইন্টিগ্রেশন পরিষেবা।

নোড জেএস প্রকল্পগুলির বিষয়ের জন্য অবিচ্ছিন্ন একীকরণের সাথে একটি গুগল গ্রুপ আলোচনাও রয়েছে ।


6
মানতগুলি ব্যবহার করার চিন্তাভাবনা করা লোকেদের জন্য একটি নোট: এটি ২০১২ সাল থেকে আপডেট হয়নি
কোড কমান্ডার

এর পরে তারা কিছু পরিবর্তন করেছে । শেষ প্রকাশ: সেপ্টেম্বর, ২০১৫
আন্দ্রে ফিগুয়েরডো

২০২০ সালে ভোল অফিসিয়াল সাইটে খারাপ গেটওয়ে পেয়েছে, সম্ভবত মারা গিয়েছে?
লিংকন

বাহ, বন্ধু, তার পর থেকে অনেক বছর হয়ে গেছে, এখন আমি ভোজেএস সম্পর্কে যা জানতে পেরেছি তা হ'ল: istavros.github.io/vowjs তবে দুর্ভাগ্যক্রমে, আমি আপনাকে 2020 এ এটি ব্যবহার করার পরামর্শ দিতে পারি না It এটি পুরানো, এবং আমি দৃ strongly়তার সাথে বলব এর পরিবর্তে আপনি মোচা ( mochajs.org ), জেসমিন (জেসমিন. github.io ) এবং জাস্ট ( jestjs.io ) পরীক্ষা করার পরামর্শ দিন।
Panosru

14

উপরে প্রশ্নকর্তা মন্তব্যের উপর নির্ভর করে, আমি চেষ্টা প্রতিজ্ঞা , এবং এটি সমস্যার আমার ASYNC পরীক্ষাটি চাপ ছিল অনেক সমাধান। সিরিয়াল এবং সমান্তরাল পরীক্ষার মিশ্রণের ক্ষমতাটি দুর্দান্ত।

নিশ্চিত হয়ে নিন যে আপনি গাইডেন্স ডকটি মনোযোগ সহকারে পড়েছেন, তবে একবার এর ফাঁস হয়ে গেলে এটি নমনীয়, শক্তিশালী এবং সুন্দর, পরিষ্কার ফলাফল তৈরি করে।

আপডেট: আমি লোকদের তাদের দাবির জন্য চেক আউট করতে উত্সাহিত করব। এটি খুব নমনীয়, খুব পঠনযোগ্য জোরের জন্য অনুমতি দেয় এবং এটি এক্সপ্রেসো এবং মানত উভয়ের সাথেই সামঞ্জস্যপূর্ণ এবং সম্ভবত বেশিরভাগ অন্যান্য টেস্ট ফ্রেমওয়ার্কগুলিও।

(আমি যদি আলফ্রেডের উত্তরের মন্তব্যগুলি লক্ষ্য না করে তবেই আমি এটি একটি পৃথক উত্তর হিসাবে পোস্ট করছি))

আপডেট ১/7/২০১৫: এটির মূল্যের জন্য, আমি তখন থেকে মানত থেকে মোচা, এবং হ্যাড থেকে চইতে স্যুইচ করেছি। প্রতিশ্রুতি ব্যবহার করে অ্যাসিক্রোনাস পরীক্ষার জন্য মোচার এখন আরও অনেক ভাল সমর্থন রয়েছে এবং চাই expectএপিআই সহ বেশ কয়েকটি নমনীয় দৃ as় বিকল্পগুলির জন্য তাদের জন্য অনুমতি দেয় যাঁরা বস্তু প্রোটোটাইপটি পরিবর্তন করতে চান না for


1
shouldtacks একটি অ-গণনীয় সম্পত্তি নামে shouldকরার Objectপ্রোটোটাইপ, যার অর্থ সব মূল্যবোধের / আপনি বর্ণন সাথে এসেছেন ডিলিং বস্তু সামান্য পরীক্ষা সময়ে এবং উত্পাদন সময়ে আলাদা। যদিও এটি বেশিরভাগ ক্ষেত্রে সম্ভবত 'ঠিক কাজ করে', তাত্ত্বিকভাবে অন্তর্নির্মিত প্রোটোটাইপগুলি সংশোধন করা খারাপ ধারণা; এটি কেবল টেস্টিংয়ের সময় ভুল অনুভব করে। এগুলি সম্পূর্ণরূপে সম্পন্ন হয়েছে যাতে তারা একটি দুর্দান্ত বাক্য গঠন করতে পারে।
প্রবাহিত করুন

@ প্রবাহিত করুন v2 যেহেতু প্রসার shouldছাড়াই এটি ব্যবহার করা সহজ Object.prototype(কেবলমাত্র কল করা require('should').noConflict()এবং ব্যবহারের জন্য একটি প্রত্যাশার বিকল্প হিসাবে ব্যবহার করা উচিত
ডেন বারদাডিয়াম

6

আমি আমার জাভাস্ক্রিপ্ট পরীক্ষার জন্য জেসমিন ব্যবহার বিশেষভাবে শুরু করেছি কারণ এটি ছোট এবং ব্রাউজার এবং নোড উভয় ক্ষেত্রেই এটি চালিত হয়। এটি একটি সত্যই দৃ reporting় প্রতিবেদন এবং ম্যাচারের এপিআই পেয়েছে যাতে ভবিষ্যতে অন্যান্য সরঞ্জামগুলির সাথে সংহত করা সহজ। বিল্টিন মক্কর কাঠামোটি রাখাও দরকারী কারণ ব্রাউজারে টিডিডির জন্য কুনিট ব্যবহার করার সময় প্রায়শই আমি যুক্ত করতাম things


2

আপনি যদি সত্যিকারের বিডিডি কাঠামো চান তবে সম্ভবত ইয়াদদা বিবেচনা করুন । বৈশিষ্ট্য ফাইলগুলিকে সমর্থন করার জন্য এটি মোচা, জুঁই, নোডুনিট, কুনিট, জম্বি এবং ক্যাস্পারজগুলির সাথে সংহত করে

   Scenario: provides the version of all services
      given service x is running
      and service y is running
      when I request the service versions
      then service x should be version 0.0.1
      and service y should be version 0.0.2

2

আমি নোডুনিট ব্যবহার করে চলেছি এবং এর অ্যাসিঙ্ক ফাংশনগুলির সাথে কাজ করার ক্ষমতা যুক্তিসঙ্গতভাবে সহজ ward

একটি দুর্দান্ত ওয়াকথ্রু রয়েছে যা আপনাকে তার ব্লগে নোডুনিটের সাথে প্রস্তুত রাখতে হবে

[ দ্রষ্টব্য: ব্লগপোস্টের পর থেকে এপিআই পরিবর্তন হয়েছে - setUp(callback)এবং tearDown(callback)উভয়ই একটি যুক্তি হিসাবে কলব্যাক নেয়, যা আপনার সেটআপ / টিয়ারডাউন সম্পূর্ণ হওয়ার পরে আপনাকে কল করতে হবে। ]


এটি এবং এক্সপ্রেসগুলিতে মঙ্গুজ.জেস ফাংশনগুলির কয়েকটি পরীক্ষার চেষ্টা করার পরে, সমান্তরাল ও অনুমতি সেটআপ এবং টিয়ারডাউন পরীক্ষায় সমস্ত পরীক্ষা পরিচালনা না করার জন্য নোডুনিটের পছন্দ দরকারী বলে মনে হচ্ছে।
asparagino
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.