আরএসপেক বনাম শসা (আরএসপেকের গল্প) [বন্ধ]


136

কখন আমার কাছে রেল অ্যাপ্লিকেশনের জন্য চশমা ব্যবহার করা উচিত এবং কখন শসা (পূর্বের আরএসপেক-গল্প)? আমি জানি কীভাবে দু'জনেই কাজ করে এবং সক্রিয়ভাবে চশমা ব্যবহার করে। তবে শশা ব্যবহার করতে এখনও অদ্ভুত লাগে। এ সম্পর্কে আমার বর্তমান মতামতটি হ'ল আপনি যখন ক্লায়েন্টের জন্য অ্যাপ্লিকেশনটি প্রয়োগ করছেন তখন শসা ব্যবহার করা সুবিধাজনক এবং পুরো সিস্টেমটি কীভাবে কাজ করবে বলে বোঝা যায় না।

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

এবং, একই দ্বিতীয় প্রশ্ন হিসাবে: আমি শসা গল্প লিখতে হবে কি আমাকে চশমা লিখতে হবে? এটি কি একই জিনিসটির ডাবল টেস্টিং হবে না?


12
কীভাবে যে একক [বন্ধ] প্রশ্ন যে আমি জুড়ে আসা বিল টিকটিকি ও অনেক বার একই প্রশ্ন upvoted এ হিসাবে "গঠনমূলক নয়" বন্ধ!?! আমি কি মিস করছি?
আশকান খ। নাজরী

4
আমি সম্পূর্ণভাবে রাজী. "XXX করার সর্বোত্তম অনুশীলন" এর মতো প্রশ্নগুলি কোথায় পোস্ট করতে হবে তা আমি এখনও খুব বিভ্রান্ত।
ডিন

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

আমি এই প্রশ্নটি 2017 সালে পেয়েছি কারণ এটি এখনও প্রাসঙ্গিক, এবং এখনও দুর্দান্ত উত্তরের সাথে একটি দুর্দান্ত প্রশ্ন। এটি মতামতকেও আমন্ত্রণ জানায় না কারণ বেশিরভাগ একই ব্যক্তিরা দুটি পৃথক পৃথক উদ্বেগের জন্য প্রশ্নের কাঠামো তৈরি করেছিলেন ... তবে এটি জানার জন্য আপনার কিছুটা দক্ষতার প্রয়োজন হবে।
লুনিভোর

উত্তর:


114

আপনি যদি ইতিমধ্যে না পেয়ে থাকেন তবে আপনি ড্যান উত্তরের দুর্দান্ত নিবন্ধটি পরীক্ষা করতে চাইতে পারেন, হোস্ট ইন এ স্টোরি? একটি সূচনা পয়েন্ট হিসাবে।

শসা গল্পের জন্য আমাদের দুটি প্রধান ব্যবহার রয়েছে। প্রথমত, কারণ গল্পের ফর্মটি অত্যন্ত সুনির্দিষ্ট কারণ এটি পণ্য মালিকদের যে বৈশিষ্ট্যগুলি তিনি তৈরি করতে চান তার স্পষ্ট ভাষায় ফোকাস করতে সহায়তা করে। এটি গল্পের ব্যবহারের জন্য "কথোপকথনের টোকেন" এবং আমরা গল্পগুলিকে কোডে প্রয়োগ করেছি কি না তা মূল্যবান। দ্বিতীয়ত, যখন প্রক্রিয়াটি যথেষ্ট ভালভাবে কাজ করছে যা বৈশিষ্ট্যটি লিখতে শুরু করার আগে আমাদের কাছে সম্পূর্ণ গল্প রয়েছে (আমরা একটি দৈনন্দিন বাস্তবের চেয়ে অনেক বেশি আদর্শের জন্য চেষ্টা করি) তখন আপনার গ্রহণযোগ্যতার মানদণ্ড স্পষ্টভাবে বর্ণিত হয়েছে এবং আপনি ঠিক কী এবং কীভাবে জানেন অনেক কিছু নির্মাণ।

আমাদের রেলের কাজগুলিতে শসার গল্পগুলি আরএসপেক ইউনিট পরীক্ষার বিকল্প দেয় না। দুজনে একসাথে যেতে। অনুশীলনে, ইউনিট পরীক্ষাগুলি মডেল এবং নিয়ন্ত্রণকারীদের বিকাশের দিকে ঝোঁক দেয় এবং গল্পগুলি দৃষ্টিভঙ্গির বিকাশ ঘটাতে থাকে (আমরা আমাদের মতামতের জন্য আরএসপেক না লিখি) ব্যবহারকারীর দৃষ্টিভঙ্গি।

আপনি যদি এককভাবে কাজ করে থাকেন তবে যোগাযোগের দিকটি আপনার কাছে আকর্ষণীয় নাও হতে পারে, তবে শসা থেকে আপনি যে ইন্টিগ্রেশন পরীক্ষাটি পেয়েছেন তা হতে পারে। আপনি যদি ওয়েবরেটের সুবিধা গ্রহণ করেন , তবে শসা লেখা আপনার অনেকগুলি মৌলিক কার্যকারিতার জন্য দ্রুত এবং বেদনাদায়ক হতে পারে।


6
আপনি দুটি পৃথক সমস্যা বিবাদ করছেন; 1) ইন্টিগ্রেশন এবং গ্রহণযোগ্যতা পরীক্ষা করা কি ভাল এবং 2) শসাটি সেই পরীক্ষাগুলিতে লেখার জন্য একটি ভাল সরঞ্জাম 1 1 - হ্যাঁ, এটি স্পষ্টতই একটি ভাল ধারণা। 2 এর জন্য, কোনও উন্নয়ন দলের পক্ষে এত বেশি নির্দেশনা সহ কোনও ভাষায় পরীক্ষা লিখতে আরও দক্ষ হয় যখন আপনি খুব স্পষ্টত ইন্টিগ্রেশন এবং আরএসপিসি এবং ক্যাপিবারাতে স্বীকৃতি পরীক্ষা লিখতে পারেন (বা - স্বর্গ নিষিদ্ধ আমরা রুবির স্ট্যান্ডার্ড লাইব্রেরি - পরীক্ষা করতে পারি না / ইউনিট বা মিনিটেষ্ট, ক্যাপিবারা সহ) জ্যাক কিনসেলার নীচে লিঙ্ক করেছেন এমন পোস্টটি দেখুন।
গ্রাহাম অ্যাশটন 15

আপনার সাথে পুরোপুরি একমত শসা একীকরণ জরুরী!
dpapadopoulos

26

এটিকে একটি চক্র হিসাবে ভাবুন:

আপনার শসা বৈশিষ্ট্যটি লিখুন, তারপরে সেই বৈশিষ্ট্যটির টুকরোগুলি বিকাশ করার সময় পৃথক উপাদানগুলি সম্পূর্ণ করার জন্য চশমা লিখুন। বৈশিষ্ট্যটি পাস করার জন্য পর্যাপ্ত কার্যকারিতা না লিখে আপনার চশমাগুলি সম্পূর্ণ করা অবিরত করুন, তারপরে আপনার পরবর্তী বৈশিষ্ট্যটি লিখুন।


1
বাইডিডে বিডিডি চক্রটির খুব সুন্দর উদাহরণ রয়েছে ।
rdamborsky

21

আমার গ্রহণযোগ্যতা হ'ল উত্পাদনশীলতার ব্যয়ের কারণে এর সিনট্যাক্সটি আপনার উপর চাপ দেয় বলে বেশিরভাগ পরিস্থিতিতে শসা ব্যবহার করা খারাপ ধারণা। আমি কেন বিরক্তির সাথে শসা টেস্টে এই বিষয়টিতে ব্যাপকভাবে লিখেছি ?


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

1
জ্যাক - চমত্কার পোস্ট। এটি লেখার জন্য আপনাকে অনেক ধন্যবাদ, আপনি নিজেই এটি করার ঝামেলা আমাকে বাঁচিয়েছেন।
গ্রাহাম অ্যাশটন 15

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

Downvoted। আমি দেখতে পেয়েছি যে ব্যবহারকারীর পদগুলিতে ব্যবহারকারীর বৈশিষ্ট্যগুলি বর্ণনা করা বিকাশকারী হিসাবে আমার পক্ষে দরকারী, ব্যবহারকারীরা কখনই আমার শসা গল্পটি পড়েন না। এজন্য আমি আমার সমস্ত প্রকল্পে শসা ব্যবহার করি এবং অন্যকেও তেমন করতে উত্সাহিত করি।
মার্নেন লাইবো-কোসার

8

কোডের স্বতন্ত্র বিট (যেমন ইউনিট পরীক্ষাগুলি) না হয়ে শকুনের গল্পটি আপনার অ্যাপ্লিকেশনটির সামগ্রিক সমস্যার সমাধান হচ্ছে সামগ্রিক সমস্যার বর্ণনা।

অ্যাবি যেমন বর্ণনা করেছেন, এটি প্রায় প্রয়োজনীয়তার একটি তালিকা যা অ্যাপ্লিকেশনটি পূরণ করা উচিত এবং এটি আপনার ক্লায়েন্টের সাথে যোগাযোগের জন্য খুব কার্যকর, পাশাপাশি সরাসরি পরীক্ষাযোগ্য।


2
যথাযথভাবে। শসা আপনার অ্যাপ্লিকেশনটির ব্যবহার বর্ণনা করে। উদাহরণস্বরূপ "আমি এখানে ক্লিক করি এবং আমি এটি বা তার ফলাফল পাব বলে আশা করি"। 'মডেল' স্তরে স্পেস বেশি থাকে more যেমন, যখন আমি সেই পদ্ধতিগুলিকে এই জাতীয় এবং যেমন পরামিতিগুলি বলি তখন আমি এই ফলাফলটি ফিরে আসার প্রত্যাশা করি।
অ্যারিজান

6

আজকাল আপনি ক্যাপাইবার এবং সেলেনিয়াম ওয়েবড্রাইভারের সাথে আরএসপিপ ব্যবহার করতে পারেন এবং সমস্ত শসা গল্প বিবরণী তৈরি করতে এবং বজায় রাখতে পারেন। আমি যা সুপারিশ করব তা এখানে:

  1. আপনার গল্প লিখুন
  2. আরএসপেক ব্যবহার করে, আমি একটি ইন্টিগ্রেশন টেস্ট তৈরি করবো উদাহরণস্বরূপ: spec / ইন্টিগ্রেশন / মোজা_rspec.rb
  3. তারপরে আমি একটি ইন্টিগ্রেশন টেস্ট তৈরি করব যাতে একটি নতুন বর্ণনা অন্তর্ভুক্ত থাকে এবং এটি প্রতিটি দৃশ্যের জন্য অবরুদ্ধ হয়
  4. তারপরে আমি সংহতকরণ পরীক্ষা নেওয়ার জন্য প্রয়োজনীয় ন্যূনতম কার্যকারিতা বাস্তবায়ন করব এবং গভীরতর ফিরে যাওয়ার সময় (নিয়ন্ত্রক এবং মডেলগুলির মধ্যে ইত্যাদি) আমি কন্ট্রোলার এবং মডেলগুলিতে টিডিডি করব।
  5. আপনি ফিরে আসার সাথে সাথে আপনার ইন্টিগ্রেশন পরীক্ষাটি পাস হতে হবে এবং আপনি ইন্টিগ্রেশন পরীক্ষায় ধাপ যুক্ত করতে পারেন
  6. পুনরাবৃত্তি

তবে একটি বিষয় লক্ষণীয় যে কন্ট্রোলার এবং ইন্টিগ্রেশন পরীক্ষাগুলিতে ওভারল্যাপ রয়েছে যা প্রয়োজনীয় হতে পারে না তাই আপনাকে আপনার সেরা রায়টি ব্যবহার করতে হবে যাতে আপনি আপনার সময় নষ্ট না করেন।

এছাড়াও, একবার আপনি আপনার খাঁজটি খুঁজে পেলে বিডিডি ব্যবহার করে এটি সবচেয়ে বেশি উপভোগ করতে পারবেন, ততক্ষণ আপনি যদি নিজেকে নিখুঁত করছেন বলে মনে করেন না এবং নিজেকে ভেবে দেখে মনে করেন না তবে নিজেকে দোষী মনে করবেন না। আপনি অসাধারণ করবেন!


2

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

আপনার এখনও শশা দরকার। আপনি সিস্টেমটি কীভাবে কাজ করছেন তা নথিভুক্ত করার জন্য আপনার এটি দরকার এবং আপনি জিনিসগুলি পরিবর্তন করার সময় আপনার কার্যকারিতা ভঙ্গ করেছেন না তা নিশ্চিত করার জন্য এটি প্রয়োজন।

অন্য কথায়, আপনার ইউনিট পরীক্ষাগুলি যেমন প্রয়োজন তেমন কারণেই আপনার শসা গল্পের প্রয়োজন - এগুলি কেবল উচ্চ বিমূর্ততার উপর কাজ করে।


2
আমি এটি বলব না যে শসাটি প্রয়োজনীয় ছিল, তবে আপনার অবশ্যই এক ধরণের ইন্টিগ্রেশন টেস্ট থাকা উচিত, যেহেতু ইউনিট টেস্টগুলি সাধারণত বিচ্ছিন্নভাবে ক্লাস পরীক্ষা করার জন্য ব্যবহৃত হয়।
অ্যান্ডি ওয়েট 22

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