Estoy tratando de crear un dispositivo de prueba utilizando el marco Fitnesse
, y quiero probar una función que recupera datos de un servidor (servicio RESTFUL). Mi caso de prueba es muy simple:Error java.lang.RuntimeException: Stub! en Android con pruebas de Fitnesse
public class FriendListActivityFixture extends ColumnFixture {
public int URL;
public String test() {
JSONArray array = JsonHelper.getJsonArrayFromUrl("http://107.22.209.62/android/get_users.php");
return array.toString();
}
}
public static JSONArray getJsonArrayFromUrl(String url) {
InputStream input = null;
String result = "";
JSONArray jsonArray = null;
try {
HttpClient httpclient = CustomHttpClient.getHttpClient();
HttpPost httppost = new HttpPost(url);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
input = entity.getContent();
}
catch (Exception e) {
Log.e(TAG + ".getJsonArrayFromUrl(String url)", "Error in http connection " + e.toString());
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(input, "iso-8859-1"), 8);
StringBuilder content = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
content.append(line + "\n");
}
input.close();
result = content.toString();
}
catch (Exception e) {
Log.e(TAG + ".getJsonArrayFromUrl(String url)", "Error parsing result " + e.toString());
}
try {
jsonArray = new JSONArray(result);
}
catch (JSONException e) {
Log.e(TAG + "getJsonArrayFromUrl(String url)", "Error converting data " + e.toString());
}
return jsonArray;
}
Y aquí está la página Fitnesse
prueba: ruta fitnesse.jar
!path C:\Program Files (x86)\Android\android-sdk\platforms\android-10\android.jar
!path C:\Users\chan\git\Spotr\Spotr\bin\classes
!|com.csun.spotr.fitnesse.FriendListActivityFixture|
|URL|test?|
|0|"wwa"|
ya que es sólo una demo, mi prueba puede parecer un poco tonto en este momento . Lamentablemente, sigo recibiendo estos errores:
java.lang.RuntimeException: Stub!
at android.util.Log.e(Log.java:15)
at com.csun.spotr.util.JsonHelper.getJsonArrayFromUrl(JsonHelper.java:75)
at com.csun.spotr.fitnesse.FriendListActivityFixture.test(FriendListActivityFixture.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at fit.TypeAdapter.invoke(TypeAdapter.java:109)
at fit.TypeAdapter.get(TypeAdapter.java:97)
at fit.Fixture$CellComparator.compareCellToResult(Fixture.java:371)
at fit.Fixture$CellComparator.access$100(Fixture.java:357)
at fit.Fixture.compareCellToResult(Fixture.java:299)
at fit.Fixture.check(Fixture.java:295)
at fit.ColumnFixture.check(ColumnFixture.java:51)
at fit.Binding$QueryBinding.doCell(Binding.java:215)
at fit.ColumnFixture.doCell(ColumnFixture.java:37)
at fit.Fixture.doCells(Fixture.java:171)
at fit.Fixture.doRow(Fixture.java:165)
at fit.ColumnFixture.doRow(ColumnFixture.java:25)
at fit.Fixture.doRows(Fixture.java:159)
at fit.ColumnFixture.doRows(ColumnFixture.java:18)
at fit.Fixture.doTable(Fixture.java:153)
at fit.Fixture.interpretTables(Fixture.java:99)
at fit.Fixture.doTables(Fixture.java:79)
at fit.FitServer.process(FitServer.java:81)
at fit.FitServer.run(FitServer.java:56)
at fit.FitServer.main(FitServer.java:41)
Y no tengo idea de qué me dice? Escribí otro método de prueba como add(), substract()
, todo funcionó bien. Me pregunto si este error implica ejecutar una tarea larga en el hilo principal. ¿Alguna idea?
Gracias, la clase de mi dispositivo de prueba no contiene ningún código de actividad, así que no entiendo por qué tengo que ejecutarlo en el dispositivo. De todos modos, déjame intentarlo ejecutarlo en el dispositivo. – Chan
Mismo error incluso si lo ejecuté en mi teléfono. Cualquier solución? – Chan
tienes androud.util.Log –