Wie die Verwendung von android.test.mock MockContext?
Ich bin neu auf Android testen und ich bin versucht, zu erstellen eine ApplicationTestCase mit einem MockContext.
Hier mein code und es tritt ein Fehler(java.lang.NoClassDefFoundError: android/content/Kontext)
Ich bin Ihnen dankbar, dass Sie mir einige Beispiele.
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();
}
}
Dank
Fügte ich voller Fehler
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
- Poste bitte den vollständigen stacktrace.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, dass die MockContext ist wirklich nur ein MockContext. Es soll gerade genug Funktionalität zum ausführen von tests, aber nicht laufen soll, real-UI-tasks.
Aus der docs an http://developer.android.com/reference/android/test/mock/MockContext.html
Wenn Sie mit UI/Integration tests, ich würde werfen Sie einen Blick auf http://developer.android.com/tools/testing/testing_ui.html