لا يمكن لـ Javadoc العثور على org.junit.test
سؤال
عندما أقوم بتشغيل Javadoc على رمز مصدر Java الخاص بي ، أحصل على هذا الخطأ لفئة اختبار Junit:
[javadoc] /mypath/TestStuff.class: warning: Cannot find annotation method 'expected()' in type 'org.junit.Test': class file for org.junit.Test not found
تظهر المشكلة مع Junit الإصدار 4 مع هذا النوع من التعليقات التوضيحية:
@Test(expected=Exception.class)
obvisoully ، يبدو أن Javadoc لا يمكن العثور على org.junit.test ولكن لماذا تحتاجه في المركز الأول؟ كيف يمكنني إصلاح ذلك ؟
هتاف ديفيد
تحديث:
جرة Junit ليست في Project Classpath ولكن في $ ant_home/lib. وبهذه الطريقة ، لا يتعين علي إضافته إلى مجلد Lib Project الخاص بي ، ويعمل Gunit Ant Target بشكل جيد.
يبدو أن هدف Javadoc في ANT لا يستخدم $ ant_home/lib للبحث عن الجرار
المحلول
org.junit.test هو الفصل الذي يحدد التعليق التوضيحي test الذي تستخدمه. يبدو أنك بحاجة إلى إضافة جرة Junit إلى ClassPath.
تحرير: قمت بإعداد مشاريع مع ANT لاستخدام 2 classpaths ، واحدة للفصول العادية وواحدة لأشياء الاختبار فقط ، وأضيف Junit إلى classpath الاختبار فقط.
نصائح أخرى
تحتاج إلى إخبار مهمة Javadoc في ANT حيث تجد Junit ، باستخدام سمات "ClassPath" ، أو "classpathref" أو متداخلةu003Cclasspath> عنصر.
شيء مثل
<javadoc ...>
...
<classpath path="path/to/your/junit.jar"/>
<!-- or maybe "${env.ANT_HOME}/lib/junit.jar" ? -->
</javadoc>
نرى http://ant.apache.org/manual/tasks/javadoc.html كمرجع.
قد يعني ذلك أنه سيتعين عليك تخزين junit.jar في المشروع ، لأنه من الأسهل الرجوع بهذه الطريقة.