আরএসপেক এবং শসা দুটোই টেস্টিং ফ্রেমওয়ার্ক। আরএসপেকের মধ্যে traditionalতিহ্যবাহী ইউনিট টেস্টিং অন্তর্ভুক্ত রয়েছে (যার অর্থ বাকী অ্যাপ্লিকেশন থেকে বিচ্ছিন্নভাবে অ্যাপ্লিকেশনটির কোনও শ্রেণি বা অংশের পরীক্ষা করা So সুতরাং আপনার মডেলটি আপনার মডেলকে যা করার কথা বলেছে তা করে, নিয়ামক এটি করার কথা বলে তাই করেন ইত্যাদি)।
আরএসপেক এবং শসাবার উভয়ই স্বীকৃতি পরীক্ষার জন্য ব্যবহৃত হয় (যাকে এটিডিডি, বিডিডি বলা হয়, উদাহরণ অনুসারে স্পেসিফিকেশন ইত্যাদি) আপনি কাকে জিজ্ঞাসা করছেন তার উপর নির্ভর করে)। এগুলি ব্যবসায়ের ক্ষেত্রে পরিচালিত ইন্টিগ্রেশন টেস্ট, যার অর্থ তারা ব্যবহার করে যেভাবে অ্যাপ্লিকেশনটি ব্যবহার করে এবং পুরো রেল স্ট্যাক ব্যবহার করে সেভাবে তা প্রয়োগ করে যাতে আপনার অ্যাপ্লিকেশনটির বিভিন্ন অংশ একসাথে যেভাবে কাজ করে তাতে সমস্যাগুলি এমনভাবে পাওয়া যায় যে ইউনিট পরীক্ষা না করে অনুসন্ধান.
আরএসপেক এবং শসাবার মধ্যে প্রধান পার্থক্য হ'ল ব্যবসায়ের পাঠযোগ্যতার ফ্যাক্টর। শশার মূল অঙ্কন হ'ল স্পেসিফিকেশন (বৈশিষ্ট্যগুলি) পরীক্ষার কোড থেকে পৃথক, সুতরাং আপনার পণ্য মালিকরা কোডটি না দিয়েই বিশদটি সরবরাহ বা পর্যালোচনা করতে পারবেন। এগুলি আপনি শসা তৈরির বৈশিষ্ট্যযুক্ত ফাইল। আরএসপেকের একটি অনুরূপ প্রক্রিয়া রয়েছে, তবে পরিবর্তে আপনি একটি বিবরণ, প্রসঙ্গ বা এটি ব্লকযুক্ত একটি ধাপ বর্ণনা করেন যার মধ্যে ব্যবসায়ের স্পেসিফিকেশন রয়েছে এবং তারপরে তত্ক্ষণাত কোডটি রয়েছে যা বিবৃতিটি কার্যকর করে। এই পদ্ধতির বিকাশকারীদের পক্ষে কাজ করা কিছুটা সহজ তবে অ প্রযুক্তিগত লোকদের জন্য কিছুটা শক্ত।
কোনটি ব্যবহার করবেন? আপনি যদি একমাত্র বিকাশকারী এবং পণ্যের মালিক হন তবে আমি আরএসপেকের সাথে লেগে থাকব, আমি প্রযুক্তিবিদকে বোঝা আরও সহজ বলে মনে করি, জিনিসগুলি স্কোপড এবং নিয়ন্ত্রণে রাখার ক্ষেত্রে কয়েকটি সুবিধা দেয় এবং আপনাকে পরীক্ষার জন্য রেজিএক্সের সাথে জগাখিচির বাইরে রাখে ধাপ। যদি আপনি এটি কোনও ক্লায়েন্টের জন্য তৈরি করে চলেছেন এবং স্পেসিফিকেশন সম্পর্কিত বিষয়ে তারা হাতছাড়া হয়ে থাকে তবে আপনার স্বীকৃতি পরীক্ষার জন্য শসার সাথে যান এবং ইউনিট টেস্টের জন্য আরএসপেক ব্যবহার করুন।
কেবল দুজনের মধ্যে মূল পার্থক্যটি দেখানোর জন্য:
শসা:
#articles.feature
Given an article exists called "Testing Demonstration"
When I visit the list of articles
Then I should see an article called "Testing Demonstration"
#article_steps.rb
Given /^an article exists called "(.+)"$/ do |title|
FactoryGirl.create(:article, title: title)
end
When /^I visit the list of articles$/ do
visit articles_path
end
Then /^I should see an article called "(.+)"$/ do |title|
page.should have_content title
end
Rspec
describe "Articles" do
let(:article) { FactoryGirl.create(:article) }
context "Index Page" do
before { visit articles_path }
it { page.should have_content article.title }
end
end
আরএসপেকের সাথে যেতে এই ব্লগ সিরিজটি দুর্দান্ত।