2013-03-10 7 views
17

私はAndroidテストを初めて使い、MockContextを使ってApplicationTestCaseを作成しようとしています。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であると信じていますが追加されました。テストを実行するのに十分な機能を提供することを意図していますが、実際のUIタスクを実行することは想定されていません。

http://developer.android.com/reference/android/test/mock/MockContext.html

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

のドキュメントから、あなたはUI /統合テストを実行している場合、私はhttp://developer.android.com/tools/testing/testing_ui.html

関連する問題