3

https://android.googlesource.com/platform/frameworks/volleyからvolleyの最新バージョンを複製しました

Eclipse にインポートし、テスト プロジェクトを実行しようとしましたが、ClassNotFoundException が発生します。

java.lang.NoClassDefFoundError: com.android.volley.mock.WaitableQueue$MagicStopRequest
at com.android.volley.mock.WaitableQueue.<init>(WaitableQueue.java:31)
at com.android.volley.CacheDispatcherTest.setUp(CacheDispatcherTest.java:45)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1619)

これらのテストを実行するにはどうすればよいですか?

ありがとうございました。

4

2 に答える 2

0

Volley フレームワーク リポジトリには、Ant ベースと Gradle ベースの両方のビルド システムがサポートされています。Gradle ビルド システムを使用してテストを実行するのは非常に簡単です。Ant のアプローチを簡単に使用してみましたが、それほど単純ではなく、とにかく Gradle の方が好きです。

最初に必要なのは、 Gradle 1.10をインストールすることです。これは、この回答を書いている時点で Volley が必要とするバージョンです。または、 gradlew サポート (適切なバージョンの Gradle をダウンロードして使用するための Gradle ブートストラップ ユーティリティ) などの追加機能を含む、このミラー リポジトリのクローンを作成することもできます。

次に、プロジェクト ルートから次のコマンドを実行します (上で選択したオプションに基づいて、gradle または gradlew を使用します)。

$> gradle clean connectedCheck

これにより、テストを含むすべてのタスクが実行されます。プロジェクト ルートを基準にしてbuild/reports/instrumentedTests/connected/index.htmlにHTML テスト レポートを生成する必要があります。

于 2014-03-14T22:59:13.510 に答える
-1

私はこれを始めに見つけました。

この Test Project を作成し、volley ライブラリから com.android.volley と com.android.volley.toolbox をインポートします。そして効きます^_^

public class MainActivity extends Activity {

protected static final String TAG = "com.gyh.myvolleytest";

private static Response.ErrorListener createErrorListener() {
    return new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.d(TAG, "Error Response code: " + error.getMessage());
        }
    };
}
private static Response.Listener<String> createSuccessListener() {
    return new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            // TODO parse response
            String string = response.toString();
            Log.d(TAG, "string :"+string);
        }
    };
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

    //it is the only button in the layout ,click to log the result
public void click(View view) {
    RequestQueue queue = Volley.newRequestQueue(this);

    String url="http://192.168.1.108:8080/httptest/servlet/mainservlet?name=stack&age=23";

    StringRequest request = new StringRequest(
            Request.Method.GET,
            url,
            createSuccessListener(),
            createErrorListener());
    queue.add(request);
    queue.start();
}

}

どうなるか教えてください^_^

于 2013-07-02T07:37:51.247 に答える