2013-03-10 7 views
17

मैं एंड्रॉइड परीक्षण के लिए नया हूं और मैं एक मॉककॉन्टेक्स्ट का उपयोग कर एप्लिकेशनटेस्टकेस बनाने की कोशिश कर रहा हूं।android.test.mock MockContext का उपयोग कैसे करें?

यहाँ मेरी कोड है और यह त्रुटि तब होती है (java.lang.NoClassDefFoundError: एंड्रॉयड/सामग्री/प्रसंग)

मैं तुम मुझे कुछ उदाहरण देने की सराहना करते हैं।

package com.example.defaultmocktest.test; 

import junit.framework.TestCase; 
import android.test.mock.MockContext; 
import android.widget.Toast; 

public class DefaultTestCase extends TestCase { 

    protected void setUp() throws Exception { 
     super.setUp(); 
    } 

    protected void tearDown() throws Exception { 
     super.tearDown(); 
    } 

    public void testSetDayAndWeekSetsCorrectPosition() { 
     Toast.makeText(new MockContext(), "Mocking", Toast.LENGTH_LONG).show(); 
    } 

} 

धन्यवाद

मैं पूरी त्रुटियों

java.lang.NoClassDefFoundError: android/content/Context 
    at java.lang.Class.getDeclaredMethods0(Native Method) 
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2436) 
    at java.lang.Class.getMethod0(Class.java:2679) 
    at java.lang.Class.getMethod(Class.java:1605) 
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.getTest(JUnit3TestLoader.java:99) 
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.loadTests(JUnit3TestLoader.java:59) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 
Caused by: java.lang.ClassNotFoundException: android.content.Context 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
    ... 10 more 
+1

पर एक नज़र डालें कृपया पोस्ट पूर्ण स्टैकट्रेस होगा। –

उत्तर

4

मुझे विश्वास है कि MockContext वास्तव में सिर्फ एक MockContext है जोड़ा गया। यह परीक्षण चलाने के लिए पर्याप्त कार्यक्षमता प्रदान करना है, लेकिन वास्तविक यूआई कार्यों को चलाने की आवश्यकता नहीं है। http://developer.android.com/reference/android/test/mock/MockContext.html

"All methods are non-functional and throw UnsupportedOperationException." 

पर

डॉक्स से आप यूआई/एकता परीक्षण चल रहे हैं, मैं http://developer.android.com/tools/testing/testing_ui.html

संबंधित मुद्दे