2014-03-30 93 views
2

我使用最新的android studio版本。我想用它的測試可能性。 當我測試我的庫項目時,出現錯誤。 這是錯誤發生:Android Studio測試失敗junit.framework.AssertionFailedError

startActivity (intent, null, null); 

創建的意圖之前已經是空。刪除測試清單文件不會改變任何內容。我想這個清單是不被認可的。 皮棉也標誌着清單此行紅(以及一切我進入那裏): 機器人:targetPackage = 「common.project」

junit.framework.AssertionFailedError 
at android.test.ActivityUnitTestCase.startActivity(ActivityUnitTestCase.java:147) 
at common.project.test.MainActivityTest.setUp(MainActivityTest.java:27) 
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191) 

我的項目結構看起來像這樣 項目

\-library project 
    \-src 
     \-AndroidManifest.xml 
     \-androidTest 
     \-java 
      \-common.project.test 
      \-MainActivityTest.java 

這是一個圖書館項目。我現在想要設置測試。 這是MainActivityTest.java

public class MainActivityTest extends android.test.ActivityUnitTestCase<MainActivity> { 
    private MainActivity mActivity; 
    private MenuItem forwardButton; 

    public MainActivityTest() { 
     super(MainActivity.class); 
    } 

    @Override 
    protected void setUp() throws Exception { 
     super.setUp(); 
     Intent intent = new Intent(getInstrumentation().getTargetContext(), 
       MainActivity.class); 
     startActivity (intent, null, null); 
     mActivity = getActivity(); 

的測試清單看起來是這樣的:

<application> 
     <uses-library android:name="android.test.runner" /> 

    </application> 

    <instrumentation 
     android:targetPackage="common.project" 
     android:name="android.test.InstrumentationTestRunner" /> 

</manifest> 

回答

2

ActivityUnitTestCase.startActivity(Intent, Bundle, Object)文檔明確地說:

不要從建立呼叫()方法。您必須從每種測試方法調用此方法。

參考:developer.android.com