Как статический импорт может быть нулевым - PullRequest
0 голосов
/ 02 июля 2018

Поскольку он инициализирован в объявлении, а импорт подразумевает зависимость.

У нас есть родительский тестовый класс jUnit, например ...

public class ServerTestBase extends TestBase {

public static final Client client = new Client();
...

И пакет со статическим импортом клиента и некоторым кодом инициализации в @ClassRule с использованием этого клиента:

import static jwstest.test.ServerTestBase.client;

@RunWith(Suite.class)
@Suite.SuiteClasses({BunchOfSuites.class})
public class ScratchSuite {

@ClassRule
public static final ExternalResource testRule = new ExternalResource() {
    @Override
    protected void before() throws Throwable {

        response = client.call(someService, HttpVerbs.GET).getResponse();

Итак, опять же, я не понимаю, как в аду клиент может быть нулевым , так как он инициализируется при объявлении, а статический импорт подразумевает зависимость.

¿Есть идеи? Заранее спасибо.

1 Ответ

0 голосов
/ 02 июля 2018

В документах указано, что поле, доступное в @ClassRule, должно быть public static.

Статический импорт не такая вещь.

Вы можете продлить ServerTestBase:

public class ScratchSuite extends ServerTestBase { ... }

... ИЛИ объявить public static заново:

public static Client myClient = client; //from static import
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...