Обрезать метод в Java - PullRequest
       21

Обрезать метод в Java

1 голос
/ 29 апреля 2011

У меня есть следующий код:

public class Search {

    private Desktop desktop = new Desktop();

    @Before
    public void baseState() {
        BrowserBaseState baseState = new BrowserBaseState("silk4j.settings");
        baseState.execute(desktop);

    }

    @Test
    public void searchNames() {
        desktop.<BrowserApplication>find("//BrowserApplication").<BrowserWindow>find("//BrowserWindow").<DomButton>find("//INPUT[@id='edit-submit']").select();

    }

}

Мне удалось усечь метод Test до этого:

public class Search {

    private Desktop desktop = new Desktop();
    BrowserApplication app;


    @Before
    public void baseState() {
        BrowserBaseState baseState = new BrowserBaseState("silk4j.settings");
        app = baseState.execute(desktop);

    }

    @Test
    public void searchNames() {
        app.<BrowserWindow>find("//BrowserWindow").<DomButton>find("//INPUT[@id='edit-submit']").select();

}

Как мне еще больше обрезать метод? Я хотел бы иметь возможность использовать что-то вроде этого:

win.<DomButton>find("//INPUT[@id='edit-submit']").select();

вместо этого длинного:

desktop.<BrowserApplication>find("//BrowserApplication").<BrowserWindow>find("//BrowserWindow").<DomButton>find("//INPUT[@id='edit-submit']").select();

Пожалуйста, вставьте весь класс в ваш ответ?

1 Ответ

2 голосов
/ 29 апреля 2011
public class Search {

    private Desktop desktop = new Desktop();
    BrowserWindow win;

    @Before
    public void baseState() {
        BrowserBaseState baseState = new BrowserBaseState("silk4j.settings");
        win = baseState.execute(desktop).find("//BrowserWindow");
    }

    @Test
    public void searchNames() {
        win.<DomButton>find("//INPUT[@id='edit-submit']").select();
    }
}
...