Почему компиляция Java не вызывает метод, который присутствует внутри метода - PullRequest
0 голосов
/ 27 октября 2018

Я работаю над Java-проектом Cucumber, который находится на начальной стадии.При написании кода в файле определения шага.Я обнаружил, что на этапе N требуются данные, которые присутствуют только на этапе N-1, т. Е. Обмен данными между этапами испытаний на огурец. Поскольку проект находится на начальной стадии.Я думал, что реализация setter () и getter () метод будет работать для меня, то есть is setter (). Я буду устанавливать значение переменной и вызывать метод getter () всякий раз, когда мне понадобятся эти данные. Пожалуйста, найдите фактическую реализацию.

StepDefinition:

    @Given("^recent destination list$")
    public void list_of_recent_destinations_is_non_empty() throws Throwable {
        gm.appLaucher();
        gm.setValue_searchAddressOrName_HomeScreen("Wemmel");
        gm.click_selectAddress_HomeScreen();
        gm.click_driveButton_OnMapScreen();
        gm.click_clearRouteButton_OnMapScreen();
        gm.setValue_searchAddressOrName_HomeScreen("Ukkel, Beersel,1180");
        gm.click_selectAddress_HomeScreen();
        gm.click_driveButton_OnMapScreen();
        gm.click_clearRouteButton_OnMapScreen();

        gm.setValue_searchAddressOrName_HomeScreen("Sint-Jansplein Brussel, 1000");
        gm.click_selectAddress_HomeScreen();
        gm.click_driveButton_OnMapScreen();
        gm.click_clearRouteButton_OnMapScreen();
        gm.click_mainMenuButton_OnMapScreen();
        gm.tap_recentDestinationButton_OnMainMenuScreen();
        gm.tap_editListButton_RecentDestinationScreen();
        List<MobileElement> em1= gm.get_recentDestinaList_EditListScreen();
        System.out.println("____________________________________________"+em1.size());
        int numOfElement=em1.size()-2;
        boolean status =em1.size()>0;
        Assert.assertEquals(true,status);




    }


    @When("^user selects one or more $")
    public void user_selects_one_or_more_recent_destinations() throws Exception {
        List<MobileElement> em1= gm.get_recentDestinaList_EditListScreen();
        System.out.println("____________________________________________"+em1.size());
        Iterator<MobileElement> it=em1.iterator();
        while(it.hasNext())
        {
            System.out.println(it.next().getText());
        }


        String str= gm.getIndividualElement_recentDestinationList_EditListScreen(2);
        System.out.println(str+"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");


    }

    @When("^user deletes address$")
    public void user_deletes_selected_addresses() throws Exception {

         gm.setValueForOtherSteps(gm.get_recentDestinaList_EditListScreen().size());


        gm.deleteIndividualElememnt_recentDestinationList_EditListScreen(2);

    }

    @Then("^recent\\(s\\) is\\(are\\) removed from list$")
    public void recent_destination_s_is_are_removed_from_list() throws Exception {
        // Write code here that turns the phrase above into concrete actions
        System.out.println(gm.getValueFromOtherStep()+"Intermidiate value from Step definition class");
        int x=gm.getSize_recentDestinationList_EditListScreen();
        System.out.println(x+"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
        String strLastElement=gm.getIndividualElement_recentDestinationList_EditListScreen(3);
        String strSecondLast=gm.getIndividualElement_recentDestinationList_EditListScreen(2);
        int y=gm.getSize_recentDestinationList_EditListScreen();
        Assert.assertEquals(x, y);
//        Assert.assertEquals(strLastElement, strSecondLast);
//        gm.tap_editListButton_RecentDestinationScreen();
//
//        gm.deleteAllElement_recentDestinationList_EditListScreen();


    }

    @Then("^recent desorted in temporal order$")
    public void recent_destinations_list_is_sorted_in_temporal_order() throws Exception {
        // Write code here that turns the phrase above into concrete actions

    }

В вышеупомянутом gm объект класса GMain, пожалуйста, найдите реализацию, как показано ниже

class GMain{

  public void setValueForOtherSteps(Object obj) throws IOException {
      System.out.println(obj+"Intermediate values to verify +++++++++++++++++++++++++++++++++++++++");
     getValueFromOtherStep();

 }


  public Object getValueFromOtherStep()
  {
      if(getValue() instanceof Integer) {
          System.out.println((Integer)getValue()+" test");
          return (Integer) getValue();
      }
      else if (getValue() instanceof String)
      {
          return (String) getValue();
      }
      else if (getValue() instanceof Boolean)
      {
          return (Boolean) getValue();
      }
      else {
          System.out.print(getValue());
          return "";
      }

}

Так как мы вызываем setValueForOtherSteps () из stepDefinition, управление приходит в GMainметод класса public void setValueForOtherSteps (Object obj), но почему передача возвращается к вызывающей стороне без вызова метода getValueFromOtherStep ()

Я знаю, что это может быть глупо, но любая помощь будет оценена

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...