2016-05-08 35 views
0

我想寫的時候我GcmListenerService收到一條消息,啓動測試單元測試單元測試,我試圖綁定到該GcmListenerService但它是不可能的,因爲GcmListenerService覆蓋onBind有這樣的方法不能被覆蓋。 從我的測試開始服務沒有意義,因爲我希望從服務器收到消息時調用它。 有什麼想法?寫作GCM

+0

我創建了一個ServiceRule並試圖手動啓動該服務,但是這是不這樣做,因爲onMessageReceived是從來沒有叫這個way.I想綁定到GcmListenerService但這也是不可能的正確途徑。 –

回答

2

我發現了一個解決方案,通過創建一個GCMListenerService對象,我希望這是正確的方法。

public class mytest{ 


    private GCMListenerService mReceiver; 
    private Context context; 

    @Before 
    public void init() { 
     context = InstrumentationRegistry.getTargetContext(); 
     mReceiver=new GCMListenerService(context); 
    } 

    @Test 
    public void testGPS() { 

     Bundle bundle = new Bundle(); 
     bundle.putString("message", Constants.GET_LOCATION); 
     mReceiver.onMessageReceived("maxim",bundle); 
    } 

}