2015-10-28 11 views
6

मैं यह पता लगाने के लिए संघर्ष कर रहा हूं कि मेरे परीक्षण के मामले पूरा होने में विफल क्यों हैं। मैं उलझन में हूं क्योंकि त्रुटि यह दिखाने के लिए प्रतीत होती है कि एक दावा विफल हुआ। इसका मतलब है कि परीक्षण असफल रहा है, लेकिन उसे पूरे टेस्ट धावक को क्यों दुर्घटनाग्रस्त करनी चाहिए?एंड्रॉइड इंस्ट्रूमेंटेशन रन असफल रहा - दावा त्रुटि

मैं इस त्रुटि को कंसोल में देख रहा हूं। यहाँ

10-27 19:51:29.006 4188-4188/? E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: com.example.jsonapi.sample, PID: 4188 
junit.framework.AssertionFailedError 
     at junit.framework.Assert.fail(Assert.java:48) 
     at junit.framework.Assert.assertTrue(Assert.java:20) 
     at junit.framework.Assert.assertNotNull(Assert.java:218) 
     at junit.framework.Assert.assertNotNull(Assert.java:211) 
     at com.example.jsonapi.JsonAPITest$2.onDone(JsonAPITest.java:101) 
     at com.example.jsonapi.JsonAPITest$2.onDone(JsonAPITest.java:96) 
     at org.jdeferred.impl.AbstractPromise.triggerDone(AbstractPromise.java:107) 
     at org.jdeferred.impl.AbstractPromise.triggerDone(AbstractPromise.java:98) 
     at org.jdeferred.impl.DeferredObject.resolve(DeferredObject.java:70) 
     at com.example.jsonapi.JsonAPI$1.onResponse(JsonAPI.java:178) 
     at com.example.jsonapi.JsonAPI$1.onResponse(JsonAPI.java:172) 
     at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:67) 
     at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:30) 
     at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99) 
     at android.os.Handler.handleCallback(Handler.java:739) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5257) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

और इसी परीक्षा है:

Test failed to run to completion. Reason: 'Instrumentation run failed due to 'junit.framework.AssertionFailedError''. Check device logcat for details

और यहाँ ट्रैस है

public void testFindOneCustomURL() throws Exception { 
    ArrayList<String> reqList = new ArrayList<>(); 
    reqList.add("queue.txt"); 

    MockWebServer server = getServerWithData(reqList); 
    // Ask the server for its URL. You'll need this to make HTTP requests. 
    URL baseUrl = server.getUrl("/api/v1"); 

    JsonAPI client = new JsonAPI(baseUrl, context); 
    client.getGsonBuilder() 
      .setDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 
    client.register(new VideoQueue()); 
    Promise prom = client.find(new VideoQueue()) 
      .set("user", "212139") 
      .run() 
      .done(new DoneCallback<ArrayList<VideoQueue>>() { 
       @Override 
       public void onDone(ArrayList<VideoQueue> videoQueue) { 
        assertNotNull(videoQueue); 
        assertNotNull(videoQueue.get(0)); 
        assertNotNull(videoQueue.get(0).getId()); 
        assertEquals("3310190", videoQueue.get(0).getId()); 
       } 
      }).fail(new FailCallback() { 
       @Override 
       public void onFail(Object rejection) { 
        assertNull(rejection); 
       } 
      }); 

    prom.waitSafely(); 
    // Shut down the server. Instances cannot be reused. 
    server.shutdown(); 

    // Make sure our client hit the server 
    RecordedRequest request = server.takeRequest(); 
    assertEquals("/api/v1/users/212139/queue", request.getPath()); 
} 
+0

मुझे एक फिक्स मिल गया है, लेकिन मैं अभी भी इसकी पूरी समझ पर काम कर रहा हूं। मैंने यहां एक संबंधित टिकट खोला है: https://github.com/jdeferred/jdeferred/issues/67 – freakTheMighty

उत्तर

1

इसका मतलब यह है अभिकथन विफल रहा है। आम तौर पर यह रिपोर्ट करनी चाहिए कि परीक्षण केस विफल रहता है। लेकिन अगर आप कॉलबैक विधि में दावा डालते हैं, तो यह क्रैश प्रतीत होता है। शायद यह जूनिट की एक बग है।

संबंधित मुद्दे