मैं यहां दीवार के खिलाफ अपना सिर पीट रहा हूं, यह पता लगाने की कोशिश कर रहा हूं कि इंटेलीजे / एंड्रॉइड "खाली टेस्ट सूट" की रिपोर्ट क्यों कर रहा है। मेरे पास दो IntelliJ मॉड्यूल (ग्रहण में "प्रोजेक्ट") के साथ एक छोटी परियोजना है। यूनिट टेस्ट मॉड्यूल का अपना AndroidManifest.xml है, जिसे मैंने सबसे नीचे चिपकाया है। मैं एक चलाने की कोशिश कर रहा हूं ActivityUnitTestCase
, क्योंकि परीक्षण Context
-object पर निर्भर होंगे।
मुख्य मॉड्यूल का पैकेज नाम है nilzor.myapp
। टेस्ट माड्यूल का pacakge नाम हैnilzor.myapp.tests
टेस्ट रनर testBlah()
-मैथोड को टेस्ट के रूप में क्यों नहीं पता लगा रहा है ?
<?xml version="1.0" encoding="utf-8"?>
<!-- package name must be unique so suffix with "tests" so package loader doesn't ignore us -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="nilzor.myapp.tests"
android:versionCode="1"
android:versionName="1.0">
<!-- We add an application tag here just so that we can indicate that
this package needs to link against the android.test library,
which is needed when building test cases. -->
<application>
<uses-library android:name="android.test.runner"/>
</application>
<!--
This declares that this application uses the instrumentation test runner targeting
the package of nilzor.myapp. To run the tests use the command:
"adb shell am instrument -w nilzor.myapp.tests/android.test.InstrumentationTestRunner"
-->
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="nilzor.myapp"
android:label="Tests for nilzor.myapp"/>
</manifest>
और यहाँ मेरा परीक्षण वर्ग है :;
package nilzor.myapp.tests;
public class NilzorSomeTest<T extends Activity> extends ActivityUnitTestCase<T>{
public NilzorSomeTest(Class<T> activityClass){
super(activityClass);
}
@SmallTest
public void testBlah(){
assertEquals(1,1);
}
}
मैंने टेस्टिंग फंडामेंटल्स , एक्टिविटी टेस्टिंग डॉक्यूमेंट को पढ़ा है और इस हैलो वर्ल्ड टेस्ट ब्लॉग को फॉलो करने की कोशिश की है , भले ही यह एक्लिप्स के लिए हो। मुझे अपना परीक्षण खोजने और चलाने के लिए परीक्षण धावक नहीं मिल सकता है। मैं क्या गलत कर रहा हूं?
कुछ प्रश्न मुझे अभी भी अनिश्चित हैं:
- क्या मुझे यूनिट परीक्षण विधि के ऊपर एनोटेशन की आवश्यकता है?
- क्या मुझे "परीक्षण" के साथ विधि को उपसर्ग करने की आवश्यकता है, या यह केवल JUnit परीक्षणों के लिए है?
- क्या मेरे पास उप-पैकेज में परीक्षण हो सकते हैं
nilzor.myapp.tests
?
लेकिन इस पोस्ट का मुख्य सवाल यह है कि टेस्ट रनर मेरे टेस्ट का पता क्यों नहीं लगाता है ?
@Test
मार्कर को परीक्षण के शीर्ष पर रखना नहीं भूले ।
cmd+shift+t
शॉर्टकट की सलाह देता हूं जो वर्तमान में आपके द्वारा संपादित की जा रही कक्षा से मेल खाने वाले सही पैकेज स्थान में स्वचालित रूप से एक टेस्ट क्लास बनाएगा।