我如何进行排球测试?

时间:2013-06-21 15:00:11

标签: android android-volley

我从https://android.googlesource.com/platform/frameworks/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)

如何运行这些测试?

谢谢。

2 个答案:

答案 0 :(得分:0)

Volley框架repo支持基于Ant和Gradle的构建系统。使用Gradle构建系统运行测试非常简单。我曾经简单地尝试过使用Ant方法,但它并不是那么简单,无论如何我更喜欢Gradle。

首先,您需要安装Gradle 1.10,这是Volley编写此答案时所需的版本。或者,您可以克隆this mirror repo,其中包括一些额外内容,例如gradlew支持(Gradle bootstrapping实用程序,用于下载和使用正确版本的Gradle)。

然后只需从项目根目录执行以下命令(根据您在上面选择的选项使用gradle或gradlew):

$> gradle clean connectedCheck

这将运行完整的任务开局,包括测试。它应该在 build / reports / instrumentedTests / connected / index.html 上生成相对于项目根目录的HTML测试报告。

答案 1 :(得分:-1)

我找到了this来开始。

我编写了这个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();
}

}

让我知道会发生什么^ _ ^