2012-03-30 20 views
3

メモ帳アプリケーションのサンプルテストを作成しようとしています。次のコードでは、警告が表示され、テストを実行できません。これを解決するのを手伝ってください。警告に「The constructor ActivityInstrumentationTestCase2<NotesList>(String, Class<NotesList>) is deprecated」と表示され、Eclipseでの実行はtestAddNote();で終了します。ログカットログが必要な場合は、元に戻してください。Robotium_constructor NotepadTestメソッドで廃止されたメッセージ

package com.example.android.notepad.test; 
import com.example.android.notepad.*; 
import com.jayway.android.robotium.solo.Solo; 
import android.test.ActivityInstrumentationTestCase2; 
import android.test.suitebuilder.annotation.*; 

public class NotePadTest extends ActivityInstrumentationTestCase2<NotesList> { 
    private Solo solo; 
    public NotePadTest() { 
     super("com.example.android.notepad", NotesList.class); 
    } 
    @Override 
    public void setUp() throws Exception { 
     solo = new Solo(getInstrumentation(), getActivity()); 
    } 
    @Smoke 
    public void testAddNote() throws Exception { 
     solo.clickOnButton(0); 
     //Assert that NoteEditor activity is opened 
     solo.assertCurrentActivity("Expected NoteEditor activity", "NoteEditor"); 
     //In text field 0, add Note 1 
     solo.enterText(0, "Note 1"); 
     solo.goBack(); 
     //Clicks on menu item 
     solo.clickOnMenuItem("Add note"); 
     //In text field 0, add Note 2 
     solo.enterText(0, "Note 2"); 
     //Go back to first activity named "NotesList" 
     solo.goBackToActivity("NotesList"); 
     boolean expected = true; 
     boolean actual = solo.searchText("Note 1") && solo.searchText("Note 2"); 
     //Assert that Note 1 & Note 2 are found 
     assertEquals("Note 1 and/or Note 2 are not found", expected, actual); 
    } 

    @Override 
    public void tearDown() throws Exception { 
     //Robotium will finish all the activities that have been opened 
     solo.finishOpenedActivities(); 
    } 
} 

これはのStackTrace

java.lang.NoClassDefFoundError: com.jayway.android.robotium.solo.Solo 
at com.example.android.notepad.test.NotePadTest.setUp(NotePadTest.java:37) 
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) 
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) 
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:537) 
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1551) 
+0

それが解決してしまった他の人々がこのようなエラーの場合をbenefitinできるよう – srinivasv

+0

は、あなたがあなたの答えにポストを作成することができますありがとうございましたか! –

+0

"NoClassDefFoundError"はandroid sdkがバージョン17にアップグレードされたためです。私たちはJava build path.Butの "注文とエクスポート"タブでロボティクスをチェックする必要がありますが、私はまだコンストラクタの廃止された戦争のための解決策を見つけることはできません。 – srinivasv

答えて

4

は "NoClassDefFoundErrorが" は、バージョン17にアップグレードアンドロイドSDKによるものです。私たちはJava build path.Butの "注文とエクスポート"タブでロボティクスをチェックする必要がありますが、私はまだコンストラクタの廃止された戦争のための解決策を見つけることはできません。

+0

こんにちは、このコンストラクタの問題の解決策を見つけましたか? !!!あなたが答えを見つけたら、答えを投稿してください。事前に感謝 – sandeepmaaram

0

はあなたが低いバージョンでrobotiumライブラリを使用してもよいし、

http://code.google.com/p/robotium/downloads/detail?name=robotium-solo-3.5.1.jar

で3.5にアップデートしてください。注: あなたのプロジェクト - >プロパティ - - >ジャワ>マウスの右をクリックしてくださいビルドパス - >タブライブラリを選択 - >ボタンをクリックJARを追加... - > robotium-solo-3.5.1.jarを参照 - >クリックしてボタンOKポップアップ

変更タブに注文とエクスポート - 私はその遅すぎる知っている> OK

+0

"Thien Nguyen"あなたのアイデアは正しくありません。私は "robotium-solo-3.6.jar"を使ってみましたが、まだ問題 "ActivityInstrumentationTestCase2 (String、Class )は廃止されました"があります。しかし、助けてくれてありがとう。 –

2

- >クリックすると、robotium-ソロ-3.5.1.jarを選びました。しかし、それは他人を助けるかもしれません。 私も同じ問題がありました。スーパークラスの下にクラス名を書くだけで解決しました。

代わりの

super("com.example.android.notepad", NotesList.class); 

書き込みは

super(NotesList.class); 
+0

まだ同じ問題が発生しています。 – sandeepmaaram

関連する問題