我从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)
如何运行这些测试?
谢谢。
答案 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();
}
}
让我知道会发生什么^ _ ^