اختبار القضبان طرق: لا يمكن العثور ActionController :: :: التأكيدات طرق RoutingAssertions
-
05-07-2019 - |
سؤال
وأنا أحاول لاختبار الطرق على القضبان بلدي 2.3.4 التطبيق. هناك العديد من المواقع التي تشرح كيفية اختبار الطرق، بما في ذلك مستندات القضبان، ولكن أنا الحصول على أخطاء اتباع التعليمات.
أولا، أفترض أن هذه التجارب يمكن أن يتم في الملفات وحدة الاختبارات المتعلقة بها. ويبدو أن هناك أي مكان أكثر وضوحا، وأيا من مستندات تحدد.
وقال ان هذا هو نسخة مختصرة من test/unit/TitlesTest.rb
require File.dirname(__FILE__) + '/../test_helper'
class TitleTest < Test::Unit::TestCase
# include ActionController::Assertions::RoutingAssertions
def test_routes
assert_routing "games", { :controller => "titles", :section => "games", :action => "index", :id => nil }
end
end
وrake test:units
فشل مع الخطأ:
NoMethodError: undefined method `assert_routing' for #<TitleTest:0x7f387232ec98>
/test/unit/title_test.rb:7:in `test_routes'
ورأيت في API القضبان التي assert_routing يتم تعريفها في ActionController::Assertions::RoutingAssertions
، لذلك حاولت أن تشمل هذه الوحدة، فقط لأنها قد تفشل في أي مكان آخر.
لاحظ خط include
علق في المثال رمز أعلاه.
NoMethodError: undefined method `clean_backtrace' for #<TitleTest:0x7fd895fadf00>
/test/unit/title_test.rb:7:in `test_routes'
وclean_backtrace
هو آخر طريقة الاختبار المحددة في ActionController :: :: TestCase التأكيدات.
وأنا لا تحصل على أي نتائج بحث جوجل عن هذه الأخطاء - لا أحد يبدو أن وجود هذه المشكلة. وتحدث هذه المشكلة أيضا إذا كنت إعادة السيناريو في التطبيق القضبان ولدت حديثا. أنا لا أعتقد أنني يجب أن تكون لديها لتشمل هذه الوحدات في حالات الاختبار بلدي. ما قد يكون الخطأ هنا؟
نصائح أخرى
والاختبارات التوجيه كجزء من اختبارات التكامل.
ويمكن أن تتولد هذه باستخدام script/generate script/generate integration_test routes
وعلى سبيل المثال:
class RoutesTest < ActionController::IntegrationTest
fixtures :all
def test_resources_route
assert_routing "titles/15", { :controller => "titles", :action => "show", :id => "15" }
end
end
والتوجيه ملف وحدة اختبار لديك يجب أن يتضمن وحدة ActionController::Assertions::RoutingAssertions
منذ القضبان 2.3.2.