describe
, context
, feature
, scenario
: পার্থক্য (গুলি) চার মধ্যে কি এবং আমি প্রতিটি একটি ব্যবহার যখন না?
describe
, context
, feature
, scenario
: পার্থক্য (গুলি) চার মধ্যে কি এবং আমি প্রতিটি একটি ব্যবহার যখন না?
উত্তর:
context
জন্য একটি alias হয় describe
, তাই তারা বৈশিষ্ট্যগুলি সমতুল্য। আপনি এগুলি বিনিময়যোগ্যভাবে ব্যবহার করতে পারেন, কেবলমাত্র পার্থক্য হ'ল আপনার স্পেক ফাইলটি কীভাবে পড়বে। উদাহরণস্বরূপ পরীক্ষার আউটপুটটিতে কোনও পার্থক্য নেই। আরএসপেক বইটি বলে:
"আমরা
describe()
জিনিস এবংcontext()
প্রসঙ্গের জন্য ব্যবহার করার ঝোঁক "।
ব্যক্তিগতভাবে আমি ব্যবহার describe
করতে পছন্দ করি তবে লোকেরা কেন পছন্দ করে তা আমি দেখতে পারি context
।
feature
এবং scenario
ক্যাপাইবারার একটি অংশ, এবং আরএসপেক নয়, এবং এটি গ্রহণযোগ্যতা পরীক্ষার জন্য ব্যবহার করার জন্য বোঝানো হয়েছে। feature
সমতূল্য describe
/ context
, এবং scenario
সমতুল্য it
/ example
।
ক্যাপিবারা সঙ্গে তুমি লেখা গ্রহণযোগ্যতা পরীক্ষা ব্যবহার করেন তাহলে feature
/ scenario
সিনট্যাক্স, যদি ব্যবহার করবেন describe
/ it
সিনট্যাক্স।
এই সকালে, কিছু চশমা লিখতে গিয়ে আমার একই প্রশ্ন ছিল। সাধারণত, আমি সাধারণত ব্যবহার describe
করি এবং এটি সম্পর্কে বিশেষভাবে চিন্তা করি না, তবে আজ সকালে আমি একটি মডিউলের জন্য প্রচুর কেস এবং বিভিন্ন চশমা নিয়ে কাজ করছিলাম, সুতরাং পরবর্তী বিকাশকারীদের পক্ষে এটি স্পেসগুলি পড়বে তা সহজেই বোধগম্য হতে হয়েছিল। তাই আমি গুগলকে এ সম্পর্কে জিজ্ঞাসা করেছি এবং আমি এটি পেয়েছি: আরএসপিএকে বনাম প্রসঙ্গে বর্ণনা করুন , যার উত্তর আমি বেশ আকর্ষণীয় মনে করেছি:
আরএসপেক সোর্স কোড অনুসারে, "প্রসঙ্গ" হ'ল "বর্ণনা" এর একটি উপাত্ত পদ্ধতি, যার অর্থ এই দুটি পদ্ধতির মধ্যে কোনও কার্যকরী পার্থক্য নেই। তবে, একটি প্রাসঙ্গিক পার্থক্য রয়েছে যা উভয়টি ব্যবহার করে আপনার পরীক্ষাগুলি আরও বোধগম্য করতে সহায়তা করবে।
"বর্ণনা" করার উদ্দেশ্য হ'ল একটি কার্যকারিতা বিরুদ্ধে টেস্টের একটি সেট মোড়ানো এবং "প্রসঙ্গ" একই রাষ্ট্রের অধীনে একটি কার্যকারিতার বিরুদ্ধে পরীক্ষার একটি সেট মোড়ানো।
সুতরাং, এই নীতির উপর নির্ভর করে আপনি এই জাতীয় একটি লিখিত লিখবেন:
#
# The feature/behaviour I'm currently testing
#
describe "item ordering" do
# 1st state of the feature/behaviour I'm testing
context "without a order param" do
...
end
# 2nd state of the feature/behaviour I'm testing
context "with a given order column" do
..
end
# Last state of the feature/behaviour I'm testing
context "with a given order column + reverse" do
..
end
end
এটি একটি সাধারণভাবে গৃহীত নিয়ম কিনা তা নিশ্চিত নই তবে আমি এই পদ্ধতিকে স্পষ্ট এবং উপলব্ধি করা বেশ সহজ বলে মনে করি।
দস্তাবেজ অনুসারে পিয়েরের দুর্দান্ত উত্তরের উপর সম্প্রসারণ :
বৈশিষ্ট্য এবং দৃশ্যপট ডিএসএল যথাক্রমে বর্ণনার সাথে মিলিত হয় এবং এটি। এই পদ্ধতিগুলি কেবলমাত্র উপমা যা বৈশিষ্ট্যযুক্ত চশমাটিকে গ্রাহক এবং গ্রহণযোগ্যতা পরীক্ষা হিসাবে আরও পড়তে দেয়।
সুতরাং মোচা পদগুলির সাথে পরিচিতদের জন্য এবং এটি (যা কোনও ব্যবহারকারীর দৃষ্টিকোণ থেকে একটি পরীক্ষার আচরণের বর্ণনা দেওয়ার পক্ষে আরও উপযুক্ত hence তাই মোচা প্রাথমিকভাবে ফ্রন্ট এন্ড টেস্টিং ফ্রেমওয়ার্ক হিসাবে কাজ করে):
describe
এবং it
বা অন্য একটি জুড়ি চয়ন করুনit
কোনও context
ব্লকের ভিতরে ব্যবহার করতে বেছে নিনদ্বিতীয় বিকল্পটি দিয়ে আপনি এখনও "... মোড়ানো [পিং] একই রাষ্ট্রের অধীনে একটি কার্যকারিতার বিরুদ্ধে পরীক্ষার একটি সেট" এর উদ্দেশ্যটি অনুসরণ করতে পারেন।
সুতরাং আপনার পরীক্ষাগুলি এর মতো দেখতে পারে:
#
# The feature/behaviour I'm currently testing
#
describe "item ordering" do
# 1st state of the feature/behaviour I'm testing
context "without an order param" do
# 1st and only test we want to run in this state
it "asks the user for missing order param" do
...
end
end
# 2nd state of the feature/behaviour I'm testing
context "with an invalid order param" do
# 1st test we want to run in this state
it "validates and rejects order param" do
...
end
# 2nd test we want to run in this state
it "returns an error to user" do
...
end
end
# 3rd state of the feature/behaviour I'm testing with multiple tests
context "with a valid order param" do
it "validates and accepts order param" do
...
end
it "displays correct price for order" do
...
end
unless being_audited
it "secretly charges higher price to user" do
...
end
end
end
end
এইভাবে আপনি এড়িয়ে যান feature
কীওয়ার্ডটি পুরোপুরি , যা আপনি নির্দিষ্ট ফ্রন্ট এন্ড বৈশিষ্ট্যগুলির জন্য ব্যবহার করতে চাইতে পারেন বা আপনি যদি এফডিডি (বৈশিষ্ট্যযুক্ত চালিত বিকাশ) করছেন, যা কারওর জন্য অস্বস্তি বোধ করতে পারে। আপনার বিকাশকারী দলকে এখানে ইনপুট দেওয়ার জন্য জিজ্ঞাসা করুন।
ক্যাভেট: সর্বদা শিল্পের মান মেনে চলেন না, ভক্সওয়াগন দর্শনের পরে যদি আমরা আমাদের সমস্ত পরীক্ষার মডেলিং করি তবে কল্পনা করুন?