উত্তর:
দ্রষ্টব্য: এটি পরীক্ষা দিয়ে চালায় না rake
। সুতরাং আপনার যে কোনও কোড Rakefile
কার্যকর হবে না।
একটি পরীক্ষা চালাতে, আপনার রেল প্রকল্পের প্রধান ডিরেক্টরি থেকে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
ruby -I test test/unit/my_model_test.rb -n test_name
এটি "নামের" নামে একটি একক পরীক্ষা চালায় যা নির্দিষ্ট ফাইলটিতে মাইমডেলস্টেস্ট শ্রেণিতে সংজ্ঞায়িত হয়। পরীক্ষার নামটি পরীক্ষার নামটি দিয়ে তৈরি করা হয়, এটি "পরীক্ষা" শব্দের সাথে প্রিপেন্ড করে, তারপরে শব্দগুলিকে আন্ডারস্কোর দিয়ে পৃথক করে। উদাহরণ স্বরূপ:
class MyModelTest < ActiveSupport::TestCase
test "valid with good attributes" do
# do whatever you do
end
test "invalid with bad attributes" do
# do whatever you do
end
end
আপনি উভয় পরীক্ষার মাধ্যমে চালাতে পারেন:
ruby -I test test/unit/my_model_test.rb
এবং মাত্র দ্বিতীয় পরীক্ষা মাধ্যমে
ruby -I test test/unit/my_model_test.rb -n test_invalid_with_bad_attributes
0 tests, 0 assertions, 0 failures, 0 errors
। রেলগুলি 3.0.7।
-n "/good/"
। শেল পালানো সর্বদা মজাদার, তাই আমি সাধারণ রেজিওসের সাথে লেগে থাকি, তবে পুরো পরীক্ষার নামটি সর্বদা লেখার চেয়ে অনেক সহজ।
test/
ফোল্ডারটি অন্তর্ভুক্তকারী ডিরেক্টরিতে থাকতে হবে । উদাহরণস্বরূপ, আমি পরীক্ষা চালাতে চাইলে activesupport/test/core_ext/array_ext_test.rb
আমার activesupport/
প্রথম হওয়া উচিত ।
-n "/good/"
কাজ করছে.
একটি পরীক্ষা ফাইল চালান :
rake test TEST=tests/functional/accounts_test.rb
একটি রান একক পরীক্ষা একটি পরীক্ষা ফাইলে:
rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n /paid accounts/"
(@ পুহলজির মন্তব্য থেকে।)
rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n '/paid accounts/'"
( /paid accounts/
একক উদ্ধৃতি দিয়ে
রেল 5 এর জন্য:
rails test test/models/my_model.rb
bin/rails test test/models/user_test.rb:27
@ জেমসকে ধন্যবাদ, উত্তরটি মনে হচ্ছে:
rails test test/models/my_model.rb:22
অনুমান 22 দেওয়া প্রদত্ত পরীক্ষার লাইন নম্বর। রেল অনুসারে সহায়তা:
$ rails test --help
আপনি একটি ফাইলের নামের মধ্যে একটি লাইন নম্বর যুক্ত করে একটি একক পরীক্ষা চালাতে পারেন:
bin/rails test test/models/user_test.rb:27
এছাড়াও, দয়া করে নোট করুন যে আপনার পরীক্ষাটি অ্যাকশনডিসপ্যাচ থেকে উত্তরাধিকারী হওয়া উচিত :: এটি কাজ করার জন্য ইন্টিগ্রেশন টেস্ট (এটি আমার ভুল ছিল):
class NexApiTest < ActionDispatch::IntegrationTest
.
.
.
রেল 5 এ,
আমি একক পরীক্ষার ফাইল চালাতে এই পদ্ধতিটি ব্যবহার করেছি (একটি ফাইলের সমস্ত পরীক্ষা)
rails test -n /TopicsControllerTest/ -v
আসল রেল স্যুটে একটি পরীক্ষা চালাতে:
bundle exec ruby -I"railties/test" actionpack/test/template/form_options_helper_test.rb
এটা আমার একটি নির্বোধ মধ্যরাত প্রশ্ন ছিল। রেলগুলি দয়া করে কমান্ডটি প্রিন্ট করে যা এটি কার্যকর করে rake test
। বাকিটি একটি কাটা এবং পেস্ট অনুশীলন।
~/projects/rails/actionpack (my2.3.4)$ ruby -I"lib:test" "/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/controller/base_test.rb"
সবচেয়ে ভালো উপায় নির্দেশিকা মধ্যে সরাসরি তাকান হয়: http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html#running-tests
cd actionmailer
bundle exec ruby -w -Itest test/mail_layout_test.rb -n test_explicit_class_layout
যদি আপনি একটি একক পরীক্ষা চালাতে চান তবে আপনি কেবল এগুলিকে নিয়মিত রুবি স্ক্রিপ্ট হিসাবে চালাতে পারেন
ruby actionmailer/test/mail_layout_test.rb
আপনি একটি সম্পূর্ণ স্যুট চালাতে পারেন (উদাহরণস্বরূপ অ্যাক্টিভেকর্ড বা অ্যাকশনমেলার) cd
ডিরেক্টরিতে প্রবেশ করে এবং rake test
সেখানে ভিতরে চলতে ।
require File.join(File.dirname(__FILE__), '..', 'test_helper')
cd
করে। শুধু থেকে পরিষ্কার হতে (আমি নিশ্চিত আমি যদি ভুল পড়া করছি, কিন্তু আপনি বলেছিলেন "উত্পন্ন পরীক্ষা ফাইল" নই) এই পাগল গ্রন্থাগার খোদ জন্য না একটি পাগল প্রকল্পের।
প্রথমে আপনি যে লাইবটি পরীক্ষা করতে চান তার ফোল্ডারে অ্যাক্সেস করুন (এটি গুরুত্বপূর্ণ) এবং তারপরে চালান:
~/Projects/rails/actionview (master)$ ruby -I test test/template/number_helper_test.rb
রেল ফোল্ডার
bundle install
bundle exec ruby -I"activerecord/test" activerecord/test/cases/relation/where_test.rb
নোট করুন আপনার যথাযথ ফোল্ডারটি লোড করতে হবে: "অ্যাক্টিভেকর্ড / পরীক্ষা" (যেখানে আপনার পরীক্ষা রয়েছে)