тест частного модуля Java без покрытия - PullRequest
1 голос
/ 25 мая 2019

Я пытаюсь протестировать закрытый метод, но не могу получить полное покрытие кода и застрял в методе.Это метод, который я пытаюсь проверить наблюдателем нарушения, но он не проверяет и не охватывает весь охват code:

private ViolationObserver.ViolationListener mViolationListener = new ViolationObserver.ViolationListener() {
    public void onActivation(ViolationObserver source, boolean active) {
        boolean activeBefore = mSpeedAlertActive && mGeoFenceActive;

        if (source == mSpeedAlertObserver) {
            mSpeedAlertActive = active;
        } else if (source == mGeoFenceObserver) {
            mGeoFenceActive = active;
        }

        boolean activeNow = mSpeedAlertActive && mGeoFenceActive;

        if (!activeBefore && activeNow) {
            mMonitoringStateReporter.publishMonitoringState(true);
        } else if (activeBefore && !activeNow) {
            mMonitoringStateReporter.publishMonitoringState(false)

Это модульный тест:

   public void testOnActivation_ViolationObserver() {
    PowerMockito.mockStatic(ViolationObserver.class);
    final ViolationObserver.ViolationListener listener = Whitebox.getInternalState(mValetAlert, "mViolationListener");
       final SpeedAlertObserver observer = Whitebox.getInternalState(mValetAlert,"mSpeedAlertObserver");
         final GeoFenceObserver observer2 = Whitebox.getInternalState(mValetAlert, "mGeoFenceObserver");
         final MonitoringStateReporter observer3= Whitebox.getInternalState(mValetAlert, "mMonitoringStateReporter");
         observer3.publishMonitoringState(true);
         observer3.setMonitoringState(VALET_ALERT_ID, true);

     when(PreferencesUtils.readMap(mPreferencesMock, "GV")).thenReturn(Collections.EMPTY_MAP);
     when(PreferencesUtils.readMap(mPreferencesMock, "SV")).thenReturn(Collections.EMPTY_MAP);

       final GeoFencingDefinition definition = createGeoFencingDefinition();
       final SpeedAlertDefinition definition2=createSpeedAlertDefinition();




     GeoFenceObserver gfo =new GeoFenceObserver("GeoFence",null, null, null,createGeoFencingDefinition(),null,7867L,false,false,10,10L,false,false);
       SpeedAlertObserver sao =new SpeedAlertObserver("sao",null, null, null,createSpeedAlertDefinition(),null,7867L,false,10,10L,false,false);
       sao.addViolationListener(listener);
       gfo.addViolationListener(listener);

     Whitebox.setInternalState(mValetAlert,"mSpeedAlertActive",true);
     Whitebox.setInternalState(mValetAlert,"mGeoFenceActive",true);
      Whitebox.setInternalState(mValetAlert,"mMonitoringStateReporter",mMonitoringStateReporterMock);

    Whitebox.setInternalState(mValetAlert,"mSpeedAlertActive",false);
     Whitebox.setInternalState(mValetAlert,"mGeoFenceActive",false);
     Whitebox.setInternalState(mValetAlert,mMonitoringStateReporterMock);

    listener.onActivation(sao,true);
     listener.onActivation(gfo, true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...