الربيع 3.0 اختبار وحدة الإرسال المرسل
-
27-10-2019 - |
سؤال
أحاول اختبار طلبي مع junit.
لذلك قمت بإعداد الفصل التالي: Genacodicetagpre
}
لذا فإن المشكلة هي أنه يبدو أن servlet المرسل الخاص بي لا يمكنه إرسال أي طلب إلى أي من وحدات التحكم الخاصة بي.
أعتقد أن هناك شيئًا ما في التكوين - ContextConfigurationLocation. يبدو أنه يمكنه العثور على الملف (وإلا فسيتم طرح استثناء) ، ولكن لا يتم تحميل أي تكوين
يقول المسجل:
org.springframework.web.servlet.PageNotFound - لم يتم العثور على تعيين لطلب HTTP باستخدام URI [http:// localhost: 8080 / myapp / abc]
لكن ليس لدي أي فكرة على الإطلاق ما هو الخطأ ...
سأكون ممتنًا لأي مساعدة!
شكرًا مقدمًا
المحلول
تعمل المناجم بشكل جيد ، جرب التعديلات التالية.
- إذا كنت تستخدم Junit4 ، فلا داعي لتمديد صفك الاختباري ، فيجب على عداء الوحدة تنفيذ الحيلة
-
قم بتحميل تكوين السياق عبر classpath ، وتأكد من أنه يمكن الوصول إليه من مسار الفصل التجريبي
@ContextConfiguration(locations={"classpath:applicationContext-test.xml"})
-
ثم اختبر فقط أدوات التحكم المشروحة.أفعل ذلك على النحو التالي:
نصائح أخرى
هناك عدة مشاكل في سؤالي:
في البداية ، لا يمكن تمديد اختبارات AbstractJUnit4SpringContextTests واستخدامRunWith (...) ، لأنها نفسها.
في الثانية ، لا يجب عليك استخدام المرسل سيرفليرت ، ولكن معالج عن طريق تحديد المعالج في application.xml الخاص بك وتشغيله تلقائيًا في حالة الاختبار عبر معالجAutowire private Handler ...
إذن يجب أن يعمل كل شيء بشكل جيد!