একটি নতুন রেল অ্যাপ তৈরি করার সময় আমি কীভাবে রেলগুলিকে পরীক্ষা-ইউনিটের পরিবর্তে আরএসপেক ব্যবহার করতে বলব?


152

আমি করেছি test-unitইনস্টল এবং rspecইনস্টল (সহ -core, -expectations, -mocksএবং -railsসংস্করণ 2.6.x)। আমি যখন কমান্ডটি চালাই rails new foo, এটি test-unitটেস্ট স্টাব ফাইলগুলি পরিবর্তে তৈরি করতে ব্যবহার করে rspec

এমন কোনও বিকল্প আছে যেখানে আমি রেলগুলিকে টেস্টগুলি তৈরির পরিবর্তে আরএসপেক ব্যবহার করতে বলতে পারি?

উত্তর:


262

নিম্নলিখিত কাজ করা উচিত:

কমান্ড লাইনে:

rails new MYAPP -T # The -T option tells rails not to include Test::Unit

জেমফাইলে:

gem 'rspec-rails'

কমান্ড লাইনে:

bundle install
rails g rspec:install

আমি মনে করি those ধাপগুলির কিছুটি অর্ডার অফ আউট, না? দেখে মনে হচ্ছে এটি সঠিকভাবে করা থাকলেও এটি কাজ করবে। আপনার উত্তরটি সম্পাদনা করুন এবং আমি এটি স্বীকৃত হিসাবে চিহ্নিত করব।
অ্যারোনা

60
generator.rbআপনার আরম্ভকারী প্রয়োজন নেই, এটি আরএসপেকের রেল্টি দ্বারা যত্ন নেওয়া হয়। আপনার প্রয়োজন হয় rspec-railsমধ্যে developmentগোষ্ঠীর Gemfileযা জেনারেটর জন্য এটি প্রয়োজন যথেষ্ট। আপনার সাথে অ্যাপটি তৈরি করার দরকার নেই -T, আপনি testদির মুছতে পারেন এবং এটি কাজ করবে।
রায়ান বিগ

1
আপনি g.test_framework থেকে কোড সম্পাদনা করতে পারেন =: g.test_framework rspec হবে: rspec
দীপক Lamichhane

8
@ রায়ানবিগ: -টি বিকল্পের সাথে আমরা "rails/test_unit/railtie"মন্তব্য করবapplication.rb
গিয়াং

13
আপনি যখন rspec-railsরত্নটি যুক্ত করেন , তখন এটি পরীক্ষা বিকাশের অধীনে রাখা গুরুত্বপূর্ণ , বা জেনারেটরগুলি উপরের পদক্ষেপগুলি অনুসরণ করলেও আরএসপেক ব্যবহার করবে না।
ফেব্রুয়ারী

73

আপনার নতুন রেল অ্যাপ্লিকেশনটি তৈরি করুন:

rails new <app_name> -T

বা testআপনার বিদ্যমান অ্যাপ্লিকেশন থেকে আপনার ডিরেক্টরি সরান :

rm -rf test/

আপনার জেমফাইলে একটি প্রবেশ করুন:

gem 'rspec-rails'

কমান্ড লাইন থেকে মণি ইনস্টল করুন

$ bundle install

কমান্ড লাইন থেকে আপনার অ্যাপ্লিকেশনটিতে আরএসপিসি ইনস্টল করুন:

$ rails g rspec:install

এখন আপনার রেল অ্যাপ্লিকেশন পরীক্ষা-ইউনিটের পরিবর্তে আরএসপেক ব্যবহার করে।


2
সেই তালিকা থেকে 'বান্ডিল ইনস্টল' পদক্ষেপটি অনুপস্থিত ছিল। যোগ করা হয়েছে।
cczona

6

একবার আপনি এর সাথে আপনার রেল অ্যাপ্লিকেশন তৈরি করুন:

rails new <app_name> -T  # to exclude Test::Unit

নিম্নলিখিত পদ্ধতিতে আপনার জেমফাইলে আরএসপেক মণি যুক্ত করুন:

group :development, :test do
  gem "rspec-rails"
end

কমান্ড লাইনে লিখুন:

bundle install  # this will install the missing gems

এখন আপনাকে চালিয়ে আরএসপেক ইনস্টল করতে হবে:

rails generate rspec:install

এটি নিম্নলিখিত ফাইলগুলি উত্পন্ন করবে:

create  .rspec
create  spec
create  spec/spec_helper.rb
create  spec/rails_helper.rb

প্রতিটি বিকল্পটি কী করে সে সম্পর্কে ভাল ধারণা পেতে আমি সমস্ত স্পেশাল_হেল্পার এবং রেল_হেলপার মন্তব্যগুলি পড়ার জন্য দৃ strongly়ভাবে সুপারিশ করি।

একবার সবকিছু সেট হয়ে গেলে আপনি আপনার সমস্ত পরীক্ষা চালাতে পারবেন:

bundle exec rspec

আপনি https://kolosek.com/rails-rspec-setup এ প্রস্তাবিত spec_helper এবং Rails_helper কনফিগারেশন সম্পর্কে আরও পড়তে পারেন ।


4

আমি একজন নতুন বিকাশকারী এবং আমি ওপির সমস্যা সমাধানের জন্য সবেমাত্র একটি রেল পতাকা (-স্পার্পেক) তৈরি করেছি। এটি টেস্ট :: ইউনিট থেকে মুক্তি পেয়ে বাশ স্ক্রিপ্টের সাহায্যে রেল-আরএসপেক মণি সন্নিবেশ করায়। লিনাক্স বিকাশকারীদের সাহায্যের জন্য স্বয়ংক্রিয়ভাবে থেরুবাইসর রত্ন যুক্ত করে বা কাস্টম পতাকা এবং রত্ন তৈরি করে স্ক্রিপ্টটি পরিবর্তন করা যেতে পারে। (সম্ভবত বিশেষত সেই রত্নরেখায় গিয়ে মন্তব্য মুছে ফেলা)

এখানে সংক্ষিপ্তসার এবং&& আশা করি এটি কোনও ব্যক্তিকে এখানে সহায়তা করবে। https://gist.github.com/MTen/8310116


0

railsসিএলআইয়ের সাথে এটি করার কোনও নেটিভ উপায় নেই । ছাড়াই একটি নতুন প্রকল্প তৈরি করুন test-unit:

rails new rails-app --skip-test

এবং তারপরে rspecএটি নতুন রেল অ্যাপগুলিতে সংহত করার জন্য নির্দেশাবলী অনুসরণ করুন।

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